振弦采集模塊主動上傳測量數據( UART)

振弦采集模塊主動上傳測量數據( UART)
默認情況下 VMXXX 模塊總是以從機身份與主機完成數據交互, 在這種主從結構中, VMXXX 從不主動上傳數據, 可通過修改自動上傳寄存器( ATSD_SEL)來實現模塊主動輸出測量數據功能,ATSD_SEL 寄存器的每 1 位對應了一種數據類型,見下表。

振弦采集模塊主動上傳測量數據( UART)
當某位被設置為 1 時, 模塊通過 UART 接口主動上傳數據。 除實時信號幅值數據外,其它數據均在每次完成傳感器頻率計算及溫度采集后自動以字符串形式上傳。 自動上傳的數據以“ $”
開始,字符串結構為: $aa=bbbb-[cc]-[dd]rn
$:固定符號
aa:數據類型標識,見上表說明
=:固定符號
bbbb:數據值
cc:數據單位,無單位數據為空
dd: 附加信息,當為信號實時幅值數據時, dd 表示數據索引值
rn:回車符
實時信號幅值主動上傳
自動上傳的實時幅值數據發送時間間隔為 100ms, 以大約 10Hz 的速率主動輸出信號的實時幅值數據(若 ATSD_SEL.[0]為 1)。
數據格式(字符串): $AV=AAA%BBBBrn
$AV:固定標識-實時信號幅值
AAA%:信號幅值百分比值,數字部分固定為 3 位,不足時補 0。
BBBB:信號幅值索引號(值),每次開始測量時歸零,最大 9999。
信號幅值數據舉例
$AV=65%07rn$AV=65%08rn$AV=60%09rn$AV=……$AV=23%230rn
注:實時幅值主動上傳功能開啟時,盡量不要再向模塊發送其它指令(關閉自動上傳指令除外),嚴禁調用較為耗時的功能(如:讀取版本信息、讀取參數、保存參數等)。
采樣數據集主動上傳
采樣數據主動上傳與傳感器頻率值計算過程同時發生(若 ATSD_SEL[1]為 1), 使用一幀數據連續輸出采樣到的所有原始值,之間用“ |” 分隔。
采樣數據舉例
$TM=000001rn 數據倍值,以下所有數據*倍值=真實值
$TS=xxxx.x|xxxx.x|……rn
FFT 數據主動上傳
FFT 數據主動上傳在傳感器測量完成后發生(若 ATSD_SEL[5]為 1), 使用一幀數據連續輸出
FFT 的所有幅值數據。數據格式說明如下

振弦采集模塊主動上傳測量數據( UART)
其它數據主動上傳
除上述自動上傳數據外,其它自動上傳數據均在傳感器頻率值計算完成后輸出( 若ATSD_SEL.[x]為 1)。
舉例
$FR=1234.5Hzrn 當前傳感器頻率值為 1234.5Hz
$FM=15239.9rn 當前傳感器頻模值為 15239.9,無單位
$TE=28.6'Crn 當前溫度值為 28.6℃
自動上傳與主從協議沖突解決
當設置了自動上傳功能,又需要向模塊發送主從結構的 MODBUS 或 AABB 協議指令時,模塊采用主從協議優先的原則,在自動發送過程中,若收到了主從指令,則自動上傳立即暫停 5 秒鐘。 這樣導致的一個現象是,當向模塊發送了修改自動發送寄存器后(主從協議指令),并不會立即收到模塊的自動上傳數據,而是在約 5 秒后才會收到。
審核編輯 黃昊宇
電子發燒友App














































評論