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

公司新聞

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

USB-1608G CSharp(C#)外部觸發輸入

來源君億道

以下示例演示了如何使用外部TTL輸入觸發。一旦觸發,程序將連續獲取要緩沖的數據。

 

要訪問API,請添加對MccDaq對象的引用。添加引用通常是通過右鍵單擊項目(在項目資源管理器下)并選擇添加引用。完整的項目附在文章后,并使用CSharpVisual Studio 2008一起創建。由于Windows開銷和相關代碼最少,因此編譯和執行速度很快。

 

盡管未在下面顯示,但添加了一些便利功能,例如IsErrorGetBoardNumDisplayDataCreateFileHeaderWaitForKey。要查看所有功能,請通過解壓縮底部的zip文件來下載完整的Visual Studio 2008項目。

 

IsError函數檢查ErrorInfo對象中的錯誤號,如果不為零,則顯示錯誤消息。GetBoardNum函數搜索與標識字符串匹配的設備,找到后退出并返回InstaCal分配的板號。板號用于獲取具有AInScan功能的控制設備對象。CreateFileHeader將獲取信息寫入輸出文件的開頭。顯示數據將數據寫入文件和控制臺屏幕。而WaitForKey就是這樣做的-等待某人按下空格鍵。

 

該功能非常簡單,采集等待一個上升沿TTL信號出現在外部觸發輸入上,并且在接收到它時就連續將數據放入緩沖區。要命令API查看外部觸發器輸入,請使用掃描選項枚舉ExtTrigger。一旦檢測到,程序將在讀取下半部分和上半部分之間進行一次ping響應,以嘗試跟進輸入數據,從而一次檢索一半緩沖區。以高速率采樣時,應注意不要覆蓋未讀取的數據。 

 

免責聲明:

隨附的代碼或 示例 按原樣提供。它尚未經過測試或驗證,不能作為產品,不能在已部署的應用程序或系統中使用或在危險環境中使用。您承擔使用本代碼或示例的所有風險 。

 

 

/////////////////////////////////////////////////////

使用系統;

使用MccDaq;

使用System.IO;

命名空間AnalogInDigitalTrigger

{

    班級計劃

    {

        public const int BLOCKSIZE = 50;

        public const int CHANCOUNT = 4;

        public const int FIRSTCHANNEL = 0;

        public const int LASTCHANNEL = 3;

        public const int FREQ = 100;

        public const int BUFFERSIZE = BLOCKSIZE * CHANCOUNT;

        public const int HALFBUFFSIZE = BUFFERSIZE / 2;

        公共常量字符串DEVICE =“ 1608G”;

 

        公共靜態StreamWriter fStream;

 

        靜態void Mainstring [] args

        {

 

            MccDaq.ErrorInfo RetVal;

 

            int BoardNum = 0;

            int DeviceChannels = 0;

            int費率= FREQ

 

            BoardNum = GetBoardNumDEVICE;

 

            如果(BoardNum == -1

                Console.WriteLine未檢測到USB- {0}DEVICE);

            別的

            {

                MccBoard daq =新的MccDaq.MccBoardBoardNum;

 

                daq.BoardConfig.GetNumAdChansout DeviceChannels;

 

                如果(DeviceChannels> 8

                    Console.WriteLine單端通道;

                別的

                    Console.WriteLine差分結束的通道;

 

 

                IntPtr緩沖區= MccService.ScaledWinBufAllocExBUFFERSIZE;

 

                如果(緩沖區== IntPtr.Zero

                {

                    Console.WriteLine“ Bad Handle”;

                    返回;

                }

 

                short [] chArray = new short [CHANCOUNT];

                Range [] chRange =新的Range [CHANCOUNT];

 

                chArray [0] = 0;

                chArray [1] = 1;

                chArray [2] = 2;

                chArray [3] = 3;

 

                chRange [0] = Range.Bip10Volts;

                chRange [1] = Range.Bip10Volts;

                chRange [2] = Range.Bip10Volts;

                chRange [3] = Range.Bip10Volts;

 

                RetVal = daq.ALoadQueuechArraychRangeCHANCOUNT;

                IsErrorRetVal;

 

                //指定ScanOptions.ExtTrigger使用TRIG輸入

                ScanOptions MyScanOptions = ScanOptions.Background |

                                            ScanOptions.ScaleData |

                                            ScanOptions.ExtTrigger |

                                            ScanOptions.Continuous;

 

                //設置獲取

                RetVal = daq.AInScanFIRSTCHANNEL

                                        LASTCHANNEL

                                        緩沖區大小,

                                        參考率

                                        Range.Bip10Volts

                                        緩沖,

                                        MyScanOptions

                                    ;

                IsErrorRetVal;

 

                int Count = 0;

                int索引= 0;

                簡短的daqStatus;

                bool ReadLower = true;

 

                double [] theArray = new double [BUFFERSIZE];

 

 

                fStream =新的StreamWriter@“ C\ Users \ Public \ Documents \ DataFile1608G.asc”;

                CreateFileHeaderschArray; //將基本信息寫入文件的開頭

 

                Console.WriteLine正在等待外部TTL觸發...按任意鍵退出循環。;

 

                //循環直到按鍵

               

                {

                    RetVal = daq.GetStatusout daqStatusout Countout IndexFunctionType.AiFunction;

                    if((Index> = HALFBUFFSIZE)&ReadLower//檢查是否還有50%的數據

                    {

                        //獲取緩沖區的下半部分-ScaledWinBufToArray返回工程單位

                        RetVal = MccService.ScaledWinBufToArraybuffertheArray0HALFBUFFSIZE;

                        IsErrorRetVal;

 

                        DisplayDatatheArrayHALFBUFFSIZE / CHANCOUNT;

                        ReadLower = false; //控制下一次讀取的標志

                    }

                    否則如果((索引<HALFBUFFSIZE)&!ReadLower

                    {

                        //獲取上半部分-ScaledWinBufToArray返回工程單位

                        RetVal = MccService.ScaledWinBufToArraybuffertheArrayHALFBUFFSIZEHALFBUFFSIZE;

                        IsErrorRetVal;

 

                        DisplayDatatheArrayHALFBUFFSIZE / CHANCOUNT;

                        ReadLower = true; //控制下一次讀取的標志

                    }

 

 

                } while(!Console.KeyAvailable;

 

                RetVal = daq.StopBackgroundFunctionType.AiFunction;

 

                IsErrorRetVal;

 

                MccService.WinBufFreeExbuffer;

 

                WaitForKey();

            }

        }


主營:電流探頭,電壓探頭,羅氏線圈,電流傳感器,高壓探頭,電流互感器,功率電子測量產品
粵ICP備14003389號深圳君億道科技有限公司 © http://www.fengshengzhitongche.com
主站蜘蛛池模板: 广宁县| 阳城县| 绥滨县| 黄陵县| 南康市| 金乡县| 普格县| 高唐县| 新和县| 独山县| 壶关县| 华坪县| 克什克腾旗| 梁河县| 许昌市| 竹北市| 五常市| 禹州市| 平昌县| 玛曲县| 科尔| 全州县| 商水县| 河北省| 四平市| 靖边县| 无锡市| 施秉县| 射阳县| 昌乐县| 义乌市| 景泰县| 临澧县| 河北省| 尼勒克县| 启东市| 永川市| 镇安县| 潍坊市| 芦山县| 灌南县| 尚义县| 武夷山市| 城口县| 临西县| 青神县| 安平县| 榆社县| 迁安市| 房产| 岫岩| 汤阴县| 遵化市| 工布江达县| 佛学| 彭水| 来安县| 鸡西市| 开封市| 湾仔区| 景德镇市| 潮安县| 南投市| 油尖旺区| 泾源县| 萨迦县| 邮箱| 定襄县| 彰化市| 临颍县| 营口市| 祁连县| 镇远县| 泰和县| 宁强县| 郴州市| 治多县| 瓦房店市| 华容县| 垫江县| 治多县| 黄大仙区|