国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

14、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(10)

這篇具有很好參考價(jià)值的文章主要介紹了14、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(10)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

  1. 監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(9.2)

Modbus rtu協(xié)議開發(fā)

本章節(jié)在《監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(7)》基礎(chǔ)上實(shí)現(xiàn)可參考《...開發(fā)步驟(7)》調(diào)試工具,本章節(jié)代碼需要調(diào)用modbus_tk組件,閱讀本章節(jié)前建議baidu熟悉modbus rtu協(xié)議內(nèi)容

組件安裝modbus_tk

pip3 install modbus_tk

驗(yàn)證是否安裝成功,python中運(yùn)行下列代碼無(wú)異常則安裝成功:

import?modbus_tk

新建modbus協(xié)議管理類com.zxy.comport.ComModBus.py

#! python3
# -*- coding: utf-8 -
'''
Created on 2020年05月10日
@author: zxyong 13738196011
'''
import time,struct
from com.zxy.common import Com_Para
from com.zxy.common.Com_Fun import Com_Fun
from com.zxy.z_debug import z_debug
import modbus_tk.defines as cst
import modbus_tk.modbus_rtu as modbus_rtu

#監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用--modbus協(xié)議管理類
class ComModBus(z_debug):
    
    def __init__(self):
        pass
        
    @staticmethod
    def get_objAryRtuMaster(inputComPort):        
        master = Com_Fun.GetHashTableNone(Com_Para.objAryRtuMaster, inputComPort)
        if master is None:
            com_at = Com_Fun.GetHashTableNone(Com_Para.htComPort, inputComPort)
            if com_at is not None:
                master = modbus_rtu.RtuMaster(com_at.attSerial)           
                # 設(shè)定串口為從站
                master.set_timeout(5.0)
                master.set_verbose(True)
                Com_Fun.SetHashTable(Com_Para.objAryRtuMaster, inputComPort, master)
        return master
    
    #字符串轉(zhuǎn)16進(jìn)制字節(jié)并+crc16校驗(yàn),傳入?yún)?shù)無(wú)crc校驗(yàn)
    @staticmethod
    def get_data_com_nocrc(inputComPort, CmdStr):  
        temReturn = None       
        try:  
            com_at = Com_Fun.GetHashTable(Com_Para.htComPort, inputComPort)  
            inputByte = bytes().fromhex(CmdStr)
            inputByte = inputByte + ComModBus._getCrc16(inputByte)
            if com_at.WritePortData(inputByte) > 0:
                temReturn = com_at.attReturnValue                    
                com_at.attReturnValue = None
        except Exception as e:
            temReturn = None
        return temReturn
    
    #字符串轉(zhuǎn)字節(jié)發(fā)送,ascii發(fā)送
    @staticmethod
    def get_data_com_ascii(inputComPort, CmdStr):  
        temReturn = None       
        try:  
            com_at = Com_Fun.GetHashTable(Com_Para.htComPort, inputComPort)
            inputByte = bytes(CmdStr, encoding="utf8")
            if com_at.WritePortDataImmed(inputByte) > 0:
                temReturn = com_at.attReturnValue                    
                com_at.attReturnValue = None
        except Exception as e:
            temReturn = None
        return temReturn
    
    #字符串轉(zhuǎn)16進(jìn)制字節(jié)發(fā)送
    @staticmethod
    def get_data_com_hex(inputComPort, CmdStr):     
        temReturn = None    
        try:
            com_at = Com_Fun.GetHashTable(Com_Para.htComPort, inputComPort)  
            inputByte = bytes().fromhex(CmdStr)
            if com_at.WritePortData(inputByte) > 0:
                comValue = com_at.attReturnValue
                if comValue is None:
                    return None
                temReturn = comValue
                com_at.attReturnValue = None
        except Exception as e:
            temReturn = None
        return temReturn
    
    #字節(jié)發(fā)送
    @staticmethod
    def get_data_com_byte(inputComPort, inputByte):    
        temReturn = None     
        try:
            com_at = Com_Fun.GetHashTable(Com_Para.htComPort, inputComPort)  
            if com_at.WritePortData(inputByte) > 0:
                comValue = com_at.attReturnValue
                if comValue is None:
                    return None
                temReturn = comValue
                com_at.attReturnValue = None
        except Exception as e:
            temReturn = None
        return temReturn
    
    #Modbus 04功能碼發(fā)送
    @staticmethod
    def get_data_rtu_04(inputComPort, inputModbusAddr, inputModbusBegin, inputModbusLength):
        red = []
        try:
            master = ComModBus.get_objAryRtuMaster(inputComPort)
            if master is not None:
                red = master.execute(int(inputModbusAddr), cst.READ_INPUT_REGISTERS, int(inputModbusBegin), int(inputModbusLength))  # 這里可以修改需要讀取的功能碼             
                time.sleep(0.1)                
            if isinstance(red, list) or isinstance(red, tuple): 
                return red
            else:
                return [""]
        except Exception as e:
            return [""]
    
    #Modbus 03功能碼發(fā)送 
    @staticmethod
    def get_data_rtu_03(inputComPort, inputModbusAddr, inputModbusBegin, inputModbusLength):
        read = []
        try:
            master = ComModBus.get_objAryRtuMaster(inputComPort)
            if master is not None:
                read = master.execute(inputModbusAddr, cst.READ_HOLDING_REGISTERS, inputModbusBegin, inputModbusLength)  # 這里可以修改需要讀取的功能碼             
                time.sleep(0.1)                
            if isinstance(read, list) or isinstance(read, tuple): 
                return read
            else:
                return [""]
        except Exception as e:
            return [""]
    
    #Modbus 寫寄存器數(shù)據(jù)
    @staticmethod
    def set_data_rtu(inputComPort, inputModbusAddr, inputModbusBegin, inputValue):
        read = []
        try:
            master = ComModBus.get_objAryRtuMaster(inputComPort)
            if master is not None:
                # 這里可以修改需要讀取的功能碼 
                if isinstance(inputValue, list) or isinstance(read, tuple):
                    read = master.execute(inputModbusAddr, cst.WRITE_MULTIPLE_REGISTERS, inputModbusBegin, output_value=inputValue) 
                else:
                    read = master.execute(inputModbusAddr, cst.WRITE_SINGLE_REGISTER, inputModbusBegin, output_value=inputValue)               
            if isinstance(read, list) or isinstance(read, tuple): 
                return read
            else:
                return [""]
        except Exception as e:
            return [""]
        
    @staticmethod
    def set_data_rtu2(inputComPort, inputModbusAddr, inputModbusBegin, inputValue):
        read = []
        try:
            master = ComModBus.get_objAryRtuMaster(inputComPort)
            if master is not None:
                # 這里可以修改需要讀取的功能碼 
                if isinstance(inputValue, list) or isinstance(read, tuple):
                    read = master.execute(inputModbusAddr, cst.ANALOG_INPUTS, inputModbusBegin, output_value=inputValue) 
                else:
                    read = master.execute(inputModbusAddr, cst.ANALOG_INPUTS, inputModbusBegin, output_value=inputValue)               
            if isinstance(read, list) or isinstance(read, tuple): 
                return read
            else:
                return [""]
        except Exception as e:
            return [""]
        
    @staticmethod
    def _getCrc16(RtuStr):
        b = 0xA001
        # 16位寄存器
        a = 0xFFFF
        for byte in RtuStr:
            # 1、把數(shù)據(jù)幀中的第一個(gè)8位字節(jié)與CRC寄存器中的低字節(jié)進(jìn)行異或運(yùn)算
            a = a ^ byte
            for i in range(8):
                # 3、如果最低位為1:將CRC寄存器與一個(gè)預(yù)設(shè)的固定值(0A001H)進(jìn)行異或運(yùn)算
                if a & 0x0001:
                    a = a >> 1
                    a = a ^ b 
                # 2、將CRC寄存器向右移一位,最高位填以0,最低位移出并檢測(cè)
                else:
                    a = a >> 1
        aa = '0' * (6 - len(hex(a))) + hex(a)[2:]
        # 獲取低和高位
        lo, hh = int(aa[:2], 16), int(aa[2:], 16)
        hexbytes = bytes([hh, lo])
        return hexbytes
           
    #高低位 reverse: true高位在前 false低位在前
    @staticmethod
    def ReadFloat(n1, n2, reverse=False):    
        n = '%04x' % n1
        m = '%04x' % n2
        if reverse:
            v = n + m
        else:
            v = m + n
        y_bytes = bytes.fromhex(v)
        y = struct.unpack('!f', y_bytes)[0]
        y = round(y, 6)
        return y
    
    @staticmethod
    def WriteFloat(value, reverse=False):
        y_bytes = struct.pack('!f', value)
        y_hex = ''.join(['%02x' % i for i in y_bytes])
        n, m = y_hex[:-4], y_hex[-4:]
        n, m = int(n, 16), int(m, 16)
        if reverse:
            v = [n, m]
        else:
            v = [m, n]
        return v
    
    @staticmethod
    def ReadDint(n1,m1, reverse=False):
        n ='%04x' % n1
        m = '%04x' % m1
        if reverse:
            v = n + m
        else:
            v = m + n
        y_bytes = bytes.fromhex(v)
        y = struct.unpack('!i', y_bytes)[0]
        return y
    
    @staticmethod
    def WriteDint(value, reverse=False):
        y_bytes = struct.pack('!i', value)
        y_hex = ''.join(['%02x' % i for i in y_bytes])
        n, m = y_hex[:-4], y_hex[-4:]
        n, m = int(n, 16), int(m, 16)
        if reverse:
            v = [n, m]
        else:
            v = [m, n]
        return v

modbus rtu測(cè)試案例MonitorDataCmd.py主文件中編寫:

from com.zxy.comport.ComModBus import ComModBus

在????if?__name__ == '__main__':下添加

        #串口配置參數(shù)
        Com_Para.ComPortList = "COM2,9600,8,0,A;COM4,9600,8,2,B"
        #串口連接初始化
        Init_Page.Start_ComPort()
        #Modbus-rtu協(xié)議功能測(cè)試
        temA01modbus = ComModBus()
        #利用modbus_tk組件獲取數(shù)據(jù),參數(shù):COM索引,modbus站地址,modbus起始位,modbus長(zhǎng)度
        read = temA01modbus.get_data_rtu_03("A",1,0,10)
        print("獲取10進(jìn)制原始返回值=>"+str(read))
        modValue = []
        iIndex = 0.0
        n1 = 0
        n2 = 0
        for temSV in read:
            if iIndex % 2 != 0:
                n2 = int(temSV)
                #16進(jìn)制單精轉(zhuǎn)浮點(diǎn)
                temMV = temA01modbus.ReadFloat(n1,n2,True)
                modValue.append(temMV)
            else:
                n1 = int(temSV)
            iIndex = iIndex + 1
        print("獲取讀到并解析的寄存器浮點(diǎn)數(shù)=>"+str(modValue))
        
        #利用modbus指令協(xié)議直接通過(guò)com口讀取數(shù)據(jù)
        temCmd = "010300A1000A942F"
        bhex = temA01modbus.get_data_com_hex("A",temCmd)
        read = str(binascii.b2a_hex(bhex).decode(Com_Para.U_CODE)).upper()
        print("獲取16進(jìn)制返回值=>"+str(read))

運(yùn)行測(cè)試結(jié)果如下圖:

14、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(10),物聯(lián)網(wǎng),python

測(cè)試案例中例舉了2種方法都可以讀到數(shù)據(jù),任取其一即可。

針對(duì) ???????

#利用modbus指令協(xié)議直接通過(guò)com口讀取數(shù)據(jù)

??????temCmd = "010300A1000A942F"

指令解釋如下:

01 站地址

03 功能碼

00A1 寄存器開始地址(16進(jìn)制)

000A ?讀取數(shù)據(jù)長(zhǎng)度10個(gè)(16進(jìn)制轉(zhuǎn)10進(jìn)制)

942F CRC校驗(yàn)碼

獲取16進(jìn)制返回值=>010314429DA8F643060A3D420070A44343000043554CCD49A8返回值解釋如下:

01 站地址

03 功能碼

14 數(shù)據(jù)長(zhǎng)度20(16進(jìn)制轉(zhuǎn)10進(jìn)制)

429DA8F643060A3D420070A44343000043554CCD 數(shù)據(jù)值16進(jìn)制

49A8 CRC校驗(yàn)碼

429DA8F643060A3D420070A44343000043554CCD 數(shù)據(jù)值解析要依據(jù)相關(guān)對(duì)方開發(fā)說(shuō)明文檔,假設(shè)該數(shù)據(jù)為寄存器浮點(diǎn)數(shù)則按如下解析:

429D A8F6 ==>10進(jìn)制浮點(diǎn)數(shù) 78.83

4306 0A3D ==>10進(jìn)制浮點(diǎn)數(shù) 134.039

4200 70A4 ==>10進(jìn)制浮點(diǎn)數(shù) 32.11

4343 0000 ==>10進(jìn)制浮點(diǎn)數(shù) 195

4355 4CCD ==>10進(jìn)制浮點(diǎn)數(shù) 213.300

可以利用該工具計(jì)算IEEE 754浮點(diǎn)數(shù)十六進(jìn)制相互轉(zhuǎn)換(32位,四字節(jié),單精度)

在線進(jìn)制轉(zhuǎn)換-IEE754浮點(diǎn)數(shù)16進(jìn)制轉(zhuǎn)換文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-685532.html

  1. 監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(11)

到了這里,關(guān)于14、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(10)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 7、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(5.3)

    7、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(5.3)

    監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(5.2) 靜態(tài)配置庫(kù)數(shù)據(jù)庫(kù)調(diào)用,新建全局變量初始化類 com.zxy.main.Init_Page.py 數(shù)據(jù)庫(kù)操作測(cè)試 MonitorDataCmd.py 主文件中編寫: if __name__ == \\\'__main__\\\' : 下編寫 程序執(zhí)行成功結(jié)果:自動(dòng)生成center_data.db 打印出數(shù)據(jù)庫(kù)數(shù)據(jù) 小測(cè)試:把上文的sql語(yǔ)句故意語(yǔ)法

    2024年02月10日
    瀏覽(25)
  • 11、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(8.2)

    11、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(8.2)

    監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(8.1) 新建TCP/IP Client線程類 com.zxy.tcp.ClientThread.py 新建tcp client數(shù)據(jù)接收插件類1 com.plugins.Usereflect.testClientReflectClass1.py 新建tcp client數(shù)據(jù)接收插件類2 com.plugins.Usereflect.testClientReflectClass2.py 在 com.zxy.main.Init_Page.py 中添加代碼 TCP Client測(cè)試案例 Monit

    2024年02月10日
    瀏覽(25)
  • 13、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(9.2)

    13、監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(9.2)

    監(jiān)測(cè)數(shù)據(jù)采集物聯(lián)網(wǎng)應(yīng)用開發(fā)步驟(9.1) TCP/IP Server開發(fā) 新建TCP/IP Server線程類 com.zxy.tcp.ServerThread.py 新建作為TCP Server接收數(shù)據(jù)攔截器插件類 com.plugins.usereflect.testServerReflectInClass1.py 新建作為TCP Server接收數(shù)據(jù)攔截器插件類 com.plugins.usereflect.testServerReflectInClass2.py 在 com.zxy.main.Init_

    2024年02月10日
    瀏覽(52)
  • 物聯(lián)網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān)在工廠數(shù)字化轉(zhuǎn)型中的應(yīng)用

    物聯(lián)網(wǎng)數(shù)據(jù)采集網(wǎng)關(guān)能將各種傳感器、執(zhí)行器等設(shè)備連接在一起,通過(guò)收集、處理和傳輸來(lái)自各種物理設(shè)備的信息,實(shí)現(xiàn)數(shù)據(jù)的集成和分析,同時(shí)可通過(guò)云平臺(tái)進(jìn)行數(shù)據(jù)交互。它具有數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)處理、數(shù)據(jù)傳輸?shù)裙δ埽枪S數(shù)字化轉(zhuǎn)型的核心組件。隨著科技的飛速發(fā)展

    2024年02月22日
    瀏覽(20)
  • iNeuOS工業(yè)互聯(lián)網(wǎng)操作系統(tǒng),高效采集數(shù)據(jù)配置與應(yīng)用

    iNeuOS工業(yè)互聯(lián)網(wǎng)操作系統(tǒng),高效采集數(shù)據(jù)配置與應(yīng)用

    1. 概述 2. 通訊原理 3. 參數(shù)配置 ?1.?? 概述 某生產(chǎn)企業(yè)世界500強(qiáng)的集團(tuán)能源管控平臺(tái)項(xiàng)目建設(shè),通過(guò)專線網(wǎng)絡(luò)實(shí)現(xiàn)異地廠區(qū)數(shù)據(jù)集成, 每個(gè)終端能源儀表都有 IP 地址,總共有1000 多臺(tái)能源表計(jì),總共有將近10000 個(gè)數(shù)據(jù)點(diǎn) 。在集團(tuán)端部署iNeuOS工業(yè)互聯(lián)網(wǎng)操作系統(tǒng),終端能源表

    2024年02月05日
    瀏覽(25)
  • 【雕爺學(xué)編程】MicroPython手冊(cè)之 ESP32-CAM 物聯(lián)網(wǎng)圖像數(shù)據(jù)采集應(yīng)用

    【雕爺學(xué)編程】MicroPython手冊(cè)之 ESP32-CAM 物聯(lián)網(wǎng)圖像數(shù)據(jù)采集應(yīng)用

    MicroPython是為了在嵌入式系統(tǒng)中運(yùn)行Python 3編程語(yǔ)言而設(shè)計(jì)的輕量級(jí)版本解釋器。與常規(guī)Python相比,MicroPython解釋器體積小(僅100KB左右),通過(guò)編譯成二進(jìn)制Executable文件運(yùn)行,執(zhí)行效率較高。它使用了輕量級(jí)的垃圾回收機(jī)制并移除了大部分Python標(biāo)準(zhǔn)庫(kù),以適應(yīng)資源限制的微控制

    2024年02月20日
    瀏覽(29)
  • 【IoT物聯(lián)網(wǎng)】IoT小程序在展示中央空調(diào)采集數(shù)據(jù)和實(shí)時(shí)運(yùn)行狀態(tài)上的應(yīng)用

    【IoT物聯(lián)網(wǎng)】IoT小程序在展示中央空調(diào)采集數(shù)據(jù)和實(shí)時(shí)運(yùn)行狀態(tài)上的應(yīng)用

    ??利用前端語(yǔ)言實(shí)現(xiàn)跨平臺(tái)應(yīng)用開發(fā)似乎是大勢(shì)所趨,跨平臺(tái)并不是一個(gè)新的概念,“一次編譯、到處運(yùn)行”是老牌服務(wù)端跨平臺(tái)語(yǔ)言Java的一個(gè)基本特性。隨著時(shí)代的發(fā)展,無(wú)論是后端開發(fā)語(yǔ)言還是前端開發(fā)語(yǔ)言,一切都在朝著減少工作量,降低工作成本的方向發(fā)展。 ?

    2024年02月16日
    瀏覽(20)
  • 水庫(kù)安全監(jiān)測(cè)方案(實(shí)時(shí)數(shù)據(jù)采集、高速數(shù)據(jù)傳輸)

    水庫(kù)安全監(jiān)測(cè)方案(實(shí)時(shí)數(shù)據(jù)采集、高速數(shù)據(jù)傳輸)

    ? 一、引言 水庫(kù)的安全監(jiān)測(cè)對(duì)于防止水災(zāi)和保障人民生命財(cái)產(chǎn)安全至關(guān)重要。為了提高水庫(kù)安全監(jiān)測(cè)的效率和準(zhǔn)確性,本文將介紹一種使用星創(chuàng)易聯(lián)DTU200和SG800 5g工業(yè)路由器部署的水庫(kù)安全監(jiān)測(cè)方案。 二、方案概述 本方案主要通過(guò)使用星創(chuàng)易聯(lián)DTU200和SG800 5g工業(yè)路由器實(shí)現(xiàn)

    2024年02月08日
    瀏覽(27)
  • 橋梁安全監(jiān)測(cè)系統(tǒng)中數(shù)據(jù)采集上傳用 什么?

    橋梁安全監(jiān)測(cè)系統(tǒng)中數(shù)據(jù)采集上傳用 什么?

    背景 2023年7月6日凌晨時(shí)分,G5012恩廣高速達(dá)萬(wàn)段230公里加80米處6號(hào)大橋部分橋面發(fā)生垮塌,導(dǎo)致造成2車受損后自燃,3人受輕傷。目前,四川省公安廳交通警察總隊(duì)高速公路五支隊(duì)十四大隊(duì)民警已對(duì)現(xiàn)場(chǎng)進(jìn)行雙向管制。 作為世界第一橋梁大國(guó),目前我國(guó)公路橋梁數(shù)量超過(guò)100萬(wàn)

    2024年02月12日
    瀏覽(35)
  • 工程監(jiān)測(cè)振弦采集儀采集到的數(shù)據(jù)如何進(jìn)行分析和處理

    工程監(jiān)測(cè)振弦采集儀采集到的數(shù)據(jù)如何進(jìn)行分析和處理

    工程監(jiān)測(cè)振弦采集儀采集到的數(shù)據(jù)如何進(jìn)行分析和處理 振弦采集儀是一個(gè)用于測(cè)量和記錄物體振動(dòng)的設(shè)備。它通過(guò)測(cè)量物體表面的振動(dòng)來(lái)提取振動(dòng)信號(hào)數(shù)據(jù),然后將其轉(zhuǎn)換為數(shù)字信號(hào),以便進(jìn)行分析和處理。在實(shí)際應(yīng)用中,振弦采集儀是廣泛應(yīng)用于機(jī)械、建筑、航空航天和汽

    2024年02月12日
    瀏覽(22)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包