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

公司新聞

最全面及時(shí)的公司資訊、企業(yè)動(dòng)態(tài)

適用于Windows的Python:使用ul.daq_in_scan(...)同時(shí)讀取模擬,數(shù)字和計(jì)數(shù)器輸入

來(lái)源君億道

ul.daq_in_scan()函數(shù)的標(biāo)準(zhǔn)控制臺(tái)示例使用USB-1808,它支持一個(gè)稱為ScaleData的掃描選項(xiàng)。使用此選項(xiàng)可以輕松地使用字符串格式轉(zhuǎn)換數(shù)據(jù)。但是,USB-1616HS,PCI-2500和USB-2500系列沒(méi)有ScaleData選項(xiàng),因此必須使用無(wú)符號(hào)的16位字。代替將分配的緩沖區(qū)強(qiáng)制轉(zhuǎn)換為雙精度指針,此示例將其強(qiáng)制轉(zhuǎn)換為無(wú)符號(hào)的short。

       1616HS2500系列不支持ScaleData

        ctypes_array = cast(內(nèi)存句柄,POINTERc_double))

        ctypes_array = cast(內(nèi)存句柄,POINTERc_ushort))

無(wú)符號(hào)短路對(duì)于數(shù)字端口和計(jì)數(shù)器寄存器是很自然的,但對(duì)于電壓卻不是那么多。為了顯示電壓,使用ul.to_eng_units函數(shù)將16位字縮放為電壓浮點(diǎn)數(shù)。

 

下面是程序列表-頁(yè)面底部還附有下載文件。

 

“”

檔案:daq_in_scan_usb_1800.py

 

展示的庫(kù)調(diào)用:mcculw.ul.daq_in_scan()

 

目的:同步掃描模擬通道,

                            數(shù)字端口和計(jì)數(shù)器在前臺(tái)。

 

演示:在兩個(gè)模擬通道上收集數(shù)據(jù),一個(gè)

                            數(shù)字通道和計(jì)數(shù)器通道。

 

其他庫(kù)調(diào)用:mcculw.ul.scaled_win_buf_alloc()

                            mcculw.ul.win_buf_free()

                            mcculw.ul.release_daq_device()

 

特殊要求:此示例為USB-1808系列上的過(guò)濾器。

“”

來(lái)自__future__ import absolute_importdivisionprint_function

從內(nèi)置導(dǎo)入*@UnusedWildImport

 

USB-1616HSPCI / USB-2500系列不支持ScaleData

#使用c_uShort讀取16位字

#從ctypes import castPOINTERc_double

ctypes import castPOINTERc_ushort

 

mcculw import ul

mcculw.enums導(dǎo)入ScanOptionsChannelTypeULRangeDigitalPortType

mcculw.device_info導(dǎo)入DaqDeviceInfo

mcculw.enums導(dǎo)入CounterMode

mcculw.enums導(dǎo)入CounterDebounceMode

mcculw.enums導(dǎo)入CounterDebounceTime

mcculw.enums導(dǎo)入CounterEdgeDetection

mcculw.enums導(dǎo)入CounterTickSize

 

嘗試:

    console_examples_util導(dǎo)入config_first_detected_device

除了ImportError

    .console_examples_util導(dǎo)入config_first_detected_device

 

def run_example():

    #默認(rèn)情況下,該示例檢測(cè)并顯示所有可用設(shè)備和

    #選擇列出的第一個(gè)設(shè)備。使用dev_id_list變量進(jìn)行過(guò)濾

    #通過(guò)設(shè)備ID檢測(cè)到的設(shè)備(有關(guān)設(shè)備ID,請(qǐng)參閱UL文檔)。

    #如果use_device_detection設(shè)置為False,則board_num變量需要

    #與使用Instacal配置的所需板號(hào)匹配。

    #無(wú)法找到PCI板,因此本示例使用InstaCal板號(hào)。

 

    use_device_detection =

 

    board_num = 0

    USB-1808系列支持的PID

    = 100

    points_per_channel = 100

    memhandle =無(wú)

 

    嘗試:

        #設(shè)備檢測(cè)對(duì)PCI板卡有效,因此將其禁用

        如果use_device_detection

            config_first_detected_deviceboard_numdev_id_list

        #使用InstaCal的零板

        daq_dev_info = DaqDeviceInfoboard_num

        print'\ n活動(dòng)DAQ設(shè)備:'daq_dev_info.product_name''

              daq_dev_info.unique_id'\ n'sep =''

 

        scan_options = ScanOptions.FOREGROUND

 

        #創(chuàng)建daq_in_scan通道配置列表

        chan_list = []

        chan_type_list = []

        gain_list = []

 

        #模擬通道必須在列表中的第一位

        chan_list.append0

        chan_type_list.appendChannelType.ANALOG

        gain_list.appendULRange.BIP10VOLTS

 

        chan_list.append1

        chan_type_list.appendChannelType.ANALOG

        gain_list.appendULRange.BIP10VOLTS

 

        chan_list.appendDigitalPortType.FIRSTPORTA

        chan_type_list.appendChannelType.DIGITAL8

        gain_list.appendULRange.NOTUSED

 

        chan_list.append0

        chan_type_list.appendChannelType.CTR32LOW

        gain_list.appendULRange.NOTUSED

 

        chan_list.append0

        chan_type_list.appendChannelType.CTR32HIGH

        gain_list.appendULRange.NOTUSED

 

        num_chans = lenchan_list

 

        total_count = num_chans * points_per_channel

 

        #為掃描分配內(nèi)存,并將其轉(zhuǎn)換為ctypes數(shù)組指針

        內(nèi)存句柄= ul.scaled_win_buf_alloc(總數(shù))

 

        1616HS2500系列不支持ScaleData

        ctypes_array = cast(內(nèi)存句柄,POINTERc_double))

        ctypes_array = cast(內(nèi)存句柄,POINTERc_ushort))

 

        #注意:在win_buf_free為之后,ctypes數(shù)組將不再有效

        #叫。

        #可以使用win_buf_to_array

        win_buf_to_array_32在釋放內(nèi)存之前。副本可以使用

        #隨時(shí)。

 

        #檢查緩沖區(qū)是否成功分配

        如果不是成員:

            引發(fā)Exception'錯(cuò)誤:無(wú)法分配內(nèi)存'

 

        ul.c_config_scanboard_num

                         0

                         CounterMode.TOTALIZE | CounterMode.COUNTER | CounterMode.BIT_32

                         CounterDebounceTime.DEBOUNCE500ns

                         CounterDebounceMode.TRIGGER_AFTER_STABLE

                         CounterEdgeDetection.RISING_EDGE

                         CounterTickSize.TICK20PT83ns

                         0

        #開(kāi)始掃描

        actRatepreCountpostCount = ul.daq_in_scan

            board_numchan_listchan_type_listgain_listnum_chans

            速率,0total_count,內(nèi)存句柄,scan_options

        print'掃描成功完成。速率= {d},掃描= {d}'formatactRatepostCount))

 

        #創(chuàng)建一個(gè)格式字符串,以對(duì)齊列中的數(shù)據(jù)

        row_format ='{> 5}'+'{> 10}'* num_chans

 

        #打印頻道名稱標(biāo)題

        標(biāo)簽= ['索引']

        對(duì)于范圍(num_chans)中的ch_index

            channel_label = {

                ChannelType.ANALOGlambda

                    'Ain'+ strchan_list [ch_index]),

                ChannelType.DIGITAL8lambda

                    ''+ chan_list [ch_index] .name

                ChannelType.CTR32LOWlambda

                    'CinLow'+ strchan_list [ch_index]),

                ChannelType.CTR32HIGHlambda

                    'CinHigh'+ strchan_list [ch_index]),

            } [chan_type_list [ch_index]]()

            labels.appendchannel_label

 

        打印(row_format.format* labels))

 

        用于范圍內(nèi)的索引(points_per_channel):

            display_data = [索引]

            對(duì)于范圍(num_chans)中的ch_index

 

                data_label = {

                    ChannelType.ANALOGlambda

                        '{.3f}'formatul.to_eng_unitsboard_numULRange.BIP10VOLTSctypes_array [ch_index])),

                    ChannelType.DIGITAL8lambda

                        '{d}'formatctypes_array [ch_index]),

                    ChannelType.CTR32LOWlambda

                        '{d}'formatctypes_array [ch_index]),

                    ChannelType.CTR32HIGHlambda

                        '{d}'formatctypes_array [ch_index]),

                } [chan_type_list [ch_index]]()

                display_data.appenddata_label

 

            #打印此行

            打印(行格式。格式(*顯示數(shù)據(jù)))

 

    例外,例如e

        打印('\ n'e

    最后:

        如果是記憶體:

            #在finally塊中釋放緩沖區(qū),以防止內(nèi)存泄漏。

            ul.win_buf_free(內(nèi)存句柄)

        如果use_device_detection

            ul.release_daq_deviceboard_num

 

如果__name__ =='__main__'

    run_example()


主營(yíng):電流探頭,電壓探頭,羅氏線圈,電流傳感器,高壓探頭,電流互感器,功率電子測(cè)量產(chǎn)品
粵ICP備14003389號(hào)深圳君億道科技有限公司 © http://www.fengshengzhitongche.com
主站蜘蛛池模板: 白银市| 牡丹江市| 陆丰市| 新邵县| 南宫市| 海兴县| 洛南县| 郴州市| 秭归县| 咸阳市| 阳曲县| 云浮市| 崇明县| 钟祥市| 奇台县| 嘉祥县| 安宁市| 桃园县| 抚顺县| 丹江口市| 碌曲县| 鹿邑县| 金湖县| 堆龙德庆县| 象州县| 株洲市| 建宁县| 桂平市| 襄樊市| 高雄县| 洪泽县| 南召县| 镇坪县| 永德县| 宜兰县| 嘉义县| 德钦县| 奉节县| 蓬莱市| 九江县| 揭阳市| 江西省| 高青县| 镇赉县| 紫云| 象山县| 芷江| 广汉市| 东海县| 北流市| 永善县| 天峻县| 新沂市| 安达市| 思南县| 治多县| 谷城县| 郑州市| 陆河县| 岳西县| 策勒县| 德州市| 胶州市| 拉孜县| 福州市| 白沙| 彭泽县| 青海省| 阳谷县| 彝良县| 阿瓦提县| 霍州市| 漳平市| 从化市| 鄢陵县| 板桥市| 凭祥市| 会理县| 龙游县| 昌平区| 山东省| 吴忠市|