国产性一乱一性一伧的解决方法,国产一区影视,日韩欧美国产亚洲,日韩av在线播放不卡,国产69精品久久久久孕妇大杂乱 ,亚洲国产一,97国产精品视频,波多野结无码高清中文
君億道科技聯系電話:0755-26830682

公司新聞

最全面及時的公司資訊、企業動態

適用于Windows USB-QUAD08的Python示例

來源君億道


以下適用于WindowsPython示例演示了設備發現和連續的后臺獲取。

 

一旦開始,將使用獲取狀態功能監視采集,該功能返回總計數和緩沖區索引位置。當數據已滿一半(索引>一半)時,將從設備緩沖區中檢索數據。發生這種情況時,它將數據從設備緩沖區傳輸到用戶緩沖區。采集循環繼續監視索引,并且當索引翻轉到零時,將從設備緩沖區的上半部分傳輸數據。它繼續在下半部和上半部之間進行此后n次或ping轉換。

 

通道0配置為讀取正交編碼器,而通道1將提供累加計數。

 

要安裝Python for Windows支持,請將以下URL復制到瀏覽器中,然后按照提供的說明進行操作。

https://github.com/mccdaq/mcculw

 

本示例使用Python 3.8.5PyCharm構建。本文末尾通過下載鏈接提供了代碼模塊。

 

來自__future__ import absolute_importdivisionprint_function

 

導入時間

 

從內置導入*@UnusedWildImport

從進口睡眠開始

ctypes import castPOINTERc_doublec_ushortc_ulong

mcculw import ul

mcculw.enums導入ScanOptionsFunctionType,狀態

mcculw.ul導入ULErrora_input_mode

mcculw.enums導入InterfaceType

mcculw.enums導入CounterMode

mcculw.enums導入CounterDebounceMode

mcculw.enums導入CounterDebounceTime

mcculw.enums導入CounterEdgeDetection

mcculw.enums導入CounterTickSize

 

 

use_device_detection =

 

 

def run_example():

    board_num = 0

    board_index = 0

    find_device =“ USB-QUAD08 ”

    如果use_device_detection

        board_num = -1

        ul.ignore_instacal()

        dev_list = ul.get_daq_device_inventoryInterfaceType.USB

        如果lendev_list> 0

            對于dev_list中的設備:

                如果str(設備)== find_device

                    打印(f“找到的{find_device}板號= {board_index}“

                    printf“序列號:{device.unique_id}”

                    打印(f“產品類型:{hexdevice.product_id}”

                    board_num = board_index

                    ul.create_daq_deviceboard_num,設備)

                board_index = board_index + 1

            如果board_num == -1

                打印(f“找不到設備{find_device}”

                返回

        別的:

            打印(未檢測到設備

            返回

    **********發現結束************

 

    = 200

    points_per_channel = 40

    low_chan = 0

    high_chan = 1

    num_chans = 2

 

    total_count = points_per_channel * num_chans

    half_count = int(總計數/ 2

    SCALEDATA選項,返回伏特而不是A / D計數

    scan_options = ScanOptions.CONTINUOUS | ScanOptions.BACKGROUND | ScanOptions.CTR32BIT

 

    memhandle = ul.win_buf_alloc_32(總數)

    buf_data = cast(內存句柄,POINTERc_ulong))

 

    #檢查緩沖區是否成功分配

    如果不是成員:

        print分配內存失敗。

        返回

 

 

    嘗試:

        ul.c_config_scanboard_num

                         low_chan

                         CounterMode.ENCODER | CounterMode.ENCODER_MODE_BIT_32

                         CounterDebounceTime.DEBOUNCE500ns

                         CounterDebounceMode.TRIGGER_AFTER_STABLE

                         CounterEdgeDetection.RISING_EDGE

                         CounterTickSize.TICK20PT83ns

                         low_chan

 

        ul.c_config_scanboard_num

                         高陳

                         CounterMode.TOTALIZE | CounterMode.BIT_32

                         CounterDebounceTime.DEBOUNCE500ns

                         CounterDebounceMode.TRIGGER_AFTER_STABLE

                         CounterEdgeDetection.RISING_EDGE

                         CounterTickSize.TICK20PT83ns

                         high_chan

 

 

        #開始掃描

        ul.c_in_scan

            board_numlow_chanhigh_chantotal_count

            費率,記憶句柄,scan_options

 

        #創建一個格式字符串,以對齊列中的數據

 

        #加兩個curr_indexcurr_count

        row_format =“ {8}” *num_chans

 

        #打印頻道名稱標題

        標簽= []

        對于范圍內的ch_numlow_chanhigh_chan + 1):

            labels.append“ CH” + strch_num+“ \ t”

 

        打印(row_format.format* labels))

 

        #布爾標志用于切換讀取上下緩沖區

        read_lower =

        #開始更新顯示的值

        狀態,curr_countcurr_index = ul.get_status

            board_numFunctionType.CTRFUNCTION

 

        最后= 0

        差異= 0

        當狀態!= Status.IDLE并且curr_count <5000時:

            #確保數據點可用于顯示。

            如果curr_count> 0

                curr_index指向最后完成的開始

                #在電路板和控制面板之間傳輸的通道掃描

                #數據緩沖區。顯示每個的最新值

                # 渠道。

 

                display_data = []

                如果(curr_index> half_count)和(read_lower == True):

 

                    ul.win_buf_to_array_32(內存句柄,buf_data0inthalf_count))

                    print'{d} \ t \ t {d}'formatbuf_data [0]buf_data [1]))

                    read_lower = False

 

                elifcurr_index <half_count)和(read_lower == False):

 

                    ul.win_buf_to_array_32(內存句柄,buf_dataint(一半計數),int(一半計數))

                    print'{d} \ t \ t {d}'formatbuf_data [0]buf_data [1]))

                    read_lower =

 

            睡眠(0.1

            狀態,curr_countcurr_index = ul.get_status

                board_numFunctionType.CTRFUNCTION

 

        #停止后臺操作(即使

        #掃描成功完成)

        ul.stop_backgroundboard_numFunctionType.AIFUNCTION

 

        打印(掃描成功完成。

    除了ULError作為e

        打印(“ UL錯誤\ n”e

    最后:

        #釋放finally塊中的緩沖區,以防止導致錯誤

        #內存泄漏。

        ul.win_buf_free(內存句柄)

 

        如果use_device_detection

            ul.release_daq_deviceboard_num

 

 

如果__name__ =='__main__'

    run_example()


主營:電流探頭,電壓探頭,羅氏線圈,電流傳感器,高壓探頭,電流互感器,功率電子測量產品
粵ICP備14003389號深圳君億道科技有限公司 © http://www.fengshengzhitongche.com
主站蜘蛛池模板: 淮安市| 东乡族自治县| 卢湾区| 嘉义县| 福建省| 兴和县| 仪征市| 临湘市| 清远市| 绥中县| 五莲县| 西贡区| 宁波市| 灯塔市| 襄樊市| 宁夏| 屯门区| 屏山县| 称多县| 嘉禾县| 邵阳县| 建昌县| 扎鲁特旗| 辽阳市| 修水县| 华池县| 长泰县| 平武县| 白银市| 泸定县| 德安县| 桃江县| 灵丘县| 墨江| 六枝特区| 甘德县| 新密市| 新乐市| 垦利县| 玛沁县| 东山县| 仁怀市| 定结县| 公主岭市| 会昌县| 江孜县| 平原县| 岑巩县| 东乡县| 花垣县| 江阴市| 建瓯市| 大悟县| 怀化市| 平陆县| 兴仁县| 巴彦县| 龙陵县| 阿荣旗| 台州市| 太仆寺旗| 皮山县| 额敏县| 吉安县| 沧源| 治多县| 嘉善县| 安泽县| 嘉禾县| 玛纳斯县| 永川市| 深州市| 黔西县| 山东| 江山市| 宝丰县| 潼关县| 墨玉县| 延川县| 明光市| 英超| 芮城县|