abVIEW的定時(shí)與同步
定時(shí)對(duì)于所有測試、控制和設(shè)計(jì)應(yīng)用而言是至關(guān)重要的,在系統(tǒng)中必須作為重點(diǎn)進(jìn)行考慮。當(dāng)需要完成協(xié)同動(dòng)作時(shí),定時(shí)和同步技術(shù)將事件以時(shí)間進(jìn)行關(guān)聯(lián)。要讓軟件完成這些協(xié)同動(dòng)作,程序必須以時(shí)間為基準(zhǔn)來實(shí)現(xiàn)同步。NI LabVIEW中包含了定時(shí)結(jié)構(gòu),您可以在系統(tǒng)中用它來同步您的程序。
本文引用地址:http://m.butianyuan.cn/article/201701/337307.htmLabVIEW定時(shí)原理--納秒級(jí)引擎和NI-TimeSync
LabVIEW使用稱為納秒級(jí)引擎的軟件組件在程序中記錄時(shí)間。引擎在后臺(tái)運(yùn)行,與操作系統(tǒng)交互管理時(shí)間。在LabVIEW中有多個(gè)函數(shù)和結(jié)構(gòu),使用此引擎記錄時(shí)間,如等待函數(shù)和定時(shí)循環(huán)結(jié)構(gòu)。納秒級(jí)引擎可以使用本地實(shí)時(shí)時(shí)鐘(RTC),也可以通過NI定時(shí)同步架構(gòu)(NI-TimeSync)用外部參考時(shí)鐘進(jìn)行驅(qū)動(dòng)。
LabVIEW 2010在NI-TimeSync中引入全新時(shí)鐘。NI-TimeSync 1.1中的IEEE1588插件提供了精度高達(dá)1 ms的同步參考時(shí)鐘。您可以在網(wǎng)絡(luò)上配置多個(gè)儀器,使用同一個(gè)IEEE 1588參考時(shí)鐘,讓多個(gè)平臺(tái)可以在標(biāo)準(zhǔn)的以太網(wǎng)網(wǎng)絡(luò)上進(jìn)行同步。您還可以通過NI測量與自動(dòng)化瀏覽器(MAX)工具配置設(shè)備使用軟件1588精確時(shí)間協(xié)議。
LabVIEW定時(shí)結(jié)構(gòu)--定時(shí)循環(huán)
定時(shí)循環(huán)是在可配置的定時(shí)源產(chǎn)生事件時(shí)執(zhí)行的循環(huán)結(jié)構(gòu)。它可以使用多種定時(shí)源(后面的教程會(huì)有詳細(xì)介紹)。如果開發(fā)多速率處理、精確定時(shí)與同步、循環(huán)執(zhí)行反饋、動(dòng)態(tài)變化定時(shí)特性或多執(zhí)行優(yōu)先級(jí)的應(yīng)用,可以使用定時(shí)循環(huán)。除了定時(shí)循環(huán)的嚴(yán)密定時(shí)特性之外,定時(shí)結(jié)構(gòu)還可以用于為多核編程分配處理器資源。使用定時(shí)循環(huán),您可以指定包括周期、優(yōu)先級(jí)、期限、偏移量和延時(shí)等多個(gè)定時(shí)屬性。結(jié)合這些屬性和豐富的定時(shí)源,無論需要怎樣的定時(shí)方式,您都可以創(chuàng)建復(fù)雜的應(yīng)用程序。
定時(shí)循環(huán)的定時(shí)源
定時(shí)源控制定時(shí)結(jié)構(gòu)的執(zhí)行。您可以從三類定時(shí)源中選擇:內(nèi)部定時(shí)源、軟件觸發(fā)或外部定時(shí)源。
內(nèi)置定時(shí)源
內(nèi)置定時(shí)源使用納秒級(jí)引擎記錄時(shí)間。您可以使用1 kHz時(shí)鐘或1 MHz時(shí)鐘在實(shí)時(shí)(RT)目標(biāo)上配置定時(shí)循環(huán)。您可以使用1 kHz時(shí)鐘以毫秒級(jí)分辨率使用定時(shí)結(jié)構(gòu)。所有能夠運(yùn)行定時(shí)結(jié)構(gòu)的LabVIEW平臺(tái)都支持1 kHz定時(shí)源。支持1 MHz定時(shí)源的目標(biāo)可以提供微秒級(jí)分辨率的定時(shí)結(jié)構(gòu)。您還可以配置定時(shí)循環(huán)結(jié)構(gòu),使用這些內(nèi)置定時(shí)源,作為絕對(duì)時(shí)間參考,用時(shí)間戳開始執(zhí)行循環(huán)結(jié)構(gòu)。例如,您可以配置定時(shí)循環(huán)在每天的確定時(shí)間開始運(yùn)行。
另一個(gè)內(nèi)置定時(shí)源是同步掃描引擎。它將定時(shí)結(jié)構(gòu)與NI掃描引擎進(jìn)行同步。使用這個(gè)定時(shí)源,定時(shí)結(jié)構(gòu)在每次掃描結(jié)束時(shí)執(zhí)行。循環(huán)執(zhí)行周期對(duì)應(yīng)于掃描周期(?S)設(shè)置,您可以在NI掃描引擎頁面上進(jìn)行配置。
軟件觸發(fā)定時(shí)源
您可以創(chuàng)建軟件觸發(fā)的定時(shí)源來觸發(fā)基于軟件事件定時(shí)結(jié)構(gòu)。Create Timing Source VI創(chuàng)建軟件觸發(fā)的定時(shí)源。Fire Software-Triggered Timing Source VI以編程方式觸發(fā)用軟件觸發(fā)定時(shí)源控制的定時(shí)循環(huán)。您可以使用軟件觸發(fā)定時(shí)源作為兼容實(shí)時(shí)方式的事件響應(yīng)器或是在新數(shù)據(jù)出現(xiàn)時(shí),通知在生產(chǎn)者-消費(fèi)者模式中中的消費(fèi)者循環(huán)。
外部定時(shí)源
您可以創(chuàng)建外部定時(shí)源,用NI-DAQmx7.2或以后版本控制定時(shí)結(jié)構(gòu)。用DAQmx Create Timing Source VI以編程方式選擇外部定時(shí)源。您還可以使用多種NI-DAQmx定時(shí)源,包括頻率、數(shù)字邊沿計(jì)數(shù)器、數(shù)字變化檢測與任務(wù)信號(hào)源控制定時(shí)結(jié)構(gòu)。使用DAQmx數(shù)據(jù)采集VI創(chuàng)建以下類型的NI-DAQmx定時(shí)源,控制定時(shí)結(jié)構(gòu)。
頻率--創(chuàng)建用定時(shí)結(jié)構(gòu)以一定頻率執(zhí)行的定時(shí)源。
數(shù)字邊沿觸發(fā)器--創(chuàng)建在數(shù)字信號(hào)的上升沿或下降沿執(zhí)行的定時(shí)結(jié)構(gòu)。
數(shù)字變化檢測--創(chuàng)建在一條或多條數(shù)字線的上升沿或下降沿執(zhí)行的定時(shí)結(jié)構(gòu)。
任務(wù)信號(hào)--創(chuàng)建可以通過使用信號(hào)來觸發(fā)執(zhí)行的定時(shí)結(jié)構(gòu)。
利用語言自帶的定時(shí)結(jié)構(gòu)、納秒級(jí)定時(shí)引擎和定時(shí)循環(huán)結(jié)構(gòu),LabVIEW提供了系統(tǒng)必須的定時(shí)與同步功能。
評(píng)論