91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

詳解DBC的Signal與JSON文本結(jié)合

華穗科技 ? 來源:華穗科技 ? 2026-01-06 10:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

為了優(yōu)化CAN數(shù)據(jù)發(fā)送與接收的操作流程,更改以前手動輸入狀態(tài)對應數(shù)據(jù)的模式,采用下拉列表選擇內(nèi)容,但這需要用到超出DBC原有承載能力的信息。因此,將JSON與其結(jié)合,采用JSON格式文本寫入Signal的Comment屬性,將Comment屬性的字符串通過JSON文本拓展信息承載能力。

下面請跟隨小編一起來學習一下吧!

本文分享:

DBC的Signal與JSON文本結(jié)合

一、JSON文本

JSON的全稱是JavaScript Object Notation,是一種輕量級的數(shù)據(jù)交換格式。JSON文本采用純文本形式,結(jié)構(gòu)清晰,具有嚴格的語法規(guī)則、獨立于語言等核心特點,可以在客戶端和服務器之間傳遞數(shù)據(jù),同時可以作為配置文件、數(shù)據(jù)存儲等。

1、基本語法規(guī)則

數(shù)據(jù)以鍵值對(名稱/值)的形式存在: "鍵": 值

鍵名必須是雙引號引起來的字符串。

值類型:

字符串:必須使用雙引號。 ("name": "張三")

數(shù)字:整數(shù)或浮點數(shù)。 ("age": 25)

布爾值: true 或 false。

空值: null。

對象: 用花括號 {} 包裹的一組無序的鍵值對。可以嵌套。

數(shù)組: 用方括號 [] 包裹的一組有序的值。

數(shù)據(jù)之間用逗號分隔。

最后一個元素后不能有逗號。

示例如下:

{
"company": "科技公司",
"year": 2023,
"isPublic": false,
"address": null,
"departments": [
{
"name": "研發(fā)部",
"employeeCount": 50
},
{
"name": "市場部",
"employeeCount": 30
}
],
"tags": ["互聯(lián)網(wǎng)", "創(chuàng)新", "敏捷開發(fā)"]
}

二、NI-XNET Database Editor

NI-XNET Database Editor是NI關于車載網(wǎng)絡的重要軟件,可以實現(xiàn)DBC數(shù)據(jù)庫文件的編輯。它通過直觀的圖形化界面,將復雜的通信協(xié)議——包括報文 ID、信號布局、物理值換算和網(wǎng)絡節(jié)點關系——轉(zhuǎn)化為可編輯、可驗證的工程對象。該工具生成的標準數(shù)據(jù)庫文件,可被NI-XNET驅(qū)動程序直接識別與調(diào)用,從而使上層的 LabVIEW等應用能夠以物理信號為單位便捷地讀寫CAN總線數(shù)據(jù),實現(xiàn)了從協(xié)議設計、仿真測試到數(shù)據(jù)解析的全流程無縫集成。

三、操作步驟

1、LabVIEW中JSON文本轉(zhuǎn)換VI

在程序框圖中右擊,找到“平化/還原字符串”下的兩個VI,如下圖所示。這兩個VI分別為將簇轉(zhuǎn)為JSON文本、從JSON文本轉(zhuǎn)為簇。使用“從JSON文本轉(zhuǎn)為簇”即可將JSON文本轉(zhuǎn)化為LabVIEW中可以使用的簇,這樣就可以免去JSON文本向LabVIEW的數(shù)據(jù)需求轉(zhuǎn)換的代碼邏輯。

89fe3ec4-e524-11f0-8c8f-92fbcf53809c.png

8a55eff2-e524-11f0-8c8f-92fbcf53809c.png

2、UTF-8格式問題

由于“從JSON文本轉(zhuǎn)為簇”VI的文本編碼僅能為UTF-8,而DBC中讀取的Comment僅能為GBK編碼,導致轉(zhuǎn)換失敗。通過下圖所示的“GBK向UTF-8轉(zhuǎn)換”文本編碼轉(zhuǎn)換器,可以解決這個問題。

8aaf6ee2-e524-11f0-8c8f-92fbcf53809c.png

3、UTF8Encoding

圖中的“UTF8Encoding”可以通過“互聯(lián)接口”面板-“.NET”面板-“構(gòu)造器節(jié)點”獲得,如下圖所示。

8b09dc7e-e524-11f0-8c8f-92fbcf53809c.png

在構(gòu)造器節(jié)點里,“程序集”部分選擇”mscorlib(4.0.0.0)“,如下圖所示。

8b617646-e524-11f0-8c8f-92fbcf53809c.png

在“對象”部分雙擊“System.Text”,如下圖所示。

8bbb527e-e524-11f0-8c8f-92fbcf53809c.png

選擇“UTF8Encoding”,如下圖所示。

8c14d880-e524-11f0-8c8f-92fbcf53809c.png

四、示例

1、DBC編輯

將JSON文件中的信息填入Signal的Comment中,如圖所示。

8c6f441e-e524-11f0-8c8f-92fbcf53809c.png

2、關鍵程序

在程序中獲取Frame中所有Signal的Comment屬性,并將Comment通過“GBK向UTF-8轉(zhuǎn)換”VI轉(zhuǎn)化為UTF-8編碼,最后使用“從JSON文本轉(zhuǎn)為簇”VI即可將DBC中的所有拓展信息提取出來供LabVIEW程序使用。

8cc5e3dc-e524-11f0-8c8f-92fbcf53809c.png

3、最終效果

通過下拉列表選擇內(nèi)容,實現(xiàn)CAN數(shù)據(jù)發(fā)送與接收,優(yōu)化了手動輸入狀態(tài)對應的數(shù)據(jù)的操作。

8d1da662-e524-11f0-8c8f-92fbcf53809c.png

以上就是DBC的Signal與JSON文本結(jié)合的全部內(nèi)容啦。歡迎大家留言討論,交流分享!更多關于測試系統(tǒng)中的實際軟硬件應用知識,可關注本公眾號/下方合集。

更多內(nèi)容,敬請期待!

對LabVIEW編程技巧和相關內(nèi)容感興趣的工程師們,歡迎持續(xù)關注、留言和點贊,也可以私信小編各位的技術困惑和技術需求,以獲取參加免費線下培訓和技術交流的機會哦。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    596

    瀏覽量

    23163
  • 文本
    +關注

    關注

    0

    文章

    120

    瀏覽量

    17861
  • JSON
    +關注

    關注

    0

    文章

    128

    瀏覽量

    7771

原文標題:知識分享 | DBC的Signal與JSON文本結(jié)合

文章出處:【微信號:華穗科技,微信公眾號:華穗科技】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    求助,為什么在CAN數(shù)據(jù)庫(.dbc文本文件)中找不到報文?

    我有CAN數(shù)據(jù)庫(dbc文件)。這是一個文本文件。此文件的擴展名為 dbc。在Vector CANdb++編輯器中打開它時,將填充J1939報文和CAN ID。 但是,在.dbc
    發(fā)表于 01-23 06:28

    關于CANdb++ Editor編寫DBC文件時Factor的設置問題求解

    求助CANdb++ Editor編寫DBC文件時 Factor設置的問題: 編輯DBC文件時,當我設置Signal的Factor時,如果設置了0.0001,DBC就正常解析沒問題。但如
    發(fā)表于 04-12 07:03

    JSON是什么?如何去創(chuàng)建一種JSON?

    1.JSON是一種輕量級的數(shù)據(jù)交換格式。是一種獨立于語言的文本格式。輕量級適合xml相比較。數(shù)據(jù)交換指的是客戶端和服務器之間的數(shù)據(jù)傳遞格式。1.1JavaScript中使用JSON創(chuàng)建:JSO
    發(fā)表于 07-09 07:06

    如何對基于stm32的json進行解析

    語言的json解析庫,可以將包含json文本解析成為C的數(shù)據(jù)格式。作為初學者的我,在接觸到這個庫的時候其實完全
    發(fā)表于 01-12 08:04

    為什么無法訪問HTTPS URL JSON?

    我試圖訪問 HTTPS URL 上的 JSON 文本。不能在 HTTP 上這樣做。我使用了 Arduino IDE 文件選項卡 (ESP8266WiFi-HTTPSREQUEST) 示例部分中的模板
    發(fā)表于 02-24 06:26

    如何通過http get和post傳輸json文件來控制聯(lián)網(wǎng)的電源插座

    顯示一個儀表板中的文本字段。在此指令中,文本節(jié)點顯示電流,電壓,型號,固件版本或JSON版本。
    的頭像 發(fā)表于 10-28 17:50 ?4358次閱讀

    基于Json格式的文本視圖驗證工具

    基于Json格式的文本視圖驗證工具
    發(fā)表于 09-19 09:15 ?8次下載

    什么是JSON劫持 JSON和XML的區(qū)別

    什么是JSON劫持 單從字面上就可以理解的出來,JSON是一種輕量級的數(shù)據(jù)交換格式,而劫持就是對數(shù)據(jù)進行竊取(或者應該稱為打劫、攔截比較合適。惡意攻擊者通過某些特定的手段,將本應該返回給用戶
    的頭像 發(fā)表于 08-05 10:09 ?1989次閱讀

    什么是JSON JSON的語法規(guī)則

    )的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使得 JSON 成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網(wǎng)絡傳輸效率。 JSON
    的頭像 發(fā)表于 08-25 15:40 ?3495次閱讀

    DBC編輯_文本形式編輯

    1. DBCDBC是Data Base CAN的縮寫。DBC文件是用來描述CAN網(wǎng)絡通信信號的一種格式文件。ECU之間的通信、信息的交互以及相互之間的關系,都是通過DBC文件來管理的,也就是ECU
    發(fā)表于 12-05 20:51 ?17次下載
    <b class='flag-5'>DBC</b>編輯_<b class='flag-5'>文本</b>形式編輯

    CAN DBC文件解析

    CAN DBC 指的是CAN 報文的數(shù)據(jù)庫。簡單地說,通過CAN 總線通信的數(shù)據(jù)類型可以用DBC 文件來讀取和理解。DBC 是一種基于ASCII 的翻譯,是在20世紀90年代發(fā)展起來的標準文件,現(xiàn)在
    的頭像 發(fā)表于 08-14 11:35 ?5667次閱讀
    CAN <b class='flag-5'>DBC</b>文件解析

    更低內(nèi)存占用的通用Json庫-RyanJson

    RyanJson是一個小巧的c語言json解析器,包含json文本文件解析 / 生成,專門針對內(nèi)存占用進行優(yōu)化,相比cJSON內(nèi)存占用減少30% - 60%,運行速度和cJSON差不多。
    的頭像 發(fā)表于 08-24 17:23 ?2892次閱讀
    更低內(nèi)存占用的通用<b class='flag-5'>Json</b>庫-RyanJson

    如何利用Python和pandas來處理json數(shù)據(jù)

    在實際工作中,尤其是web數(shù)據(jù)的傳輸,我們經(jīng)常會遇到json數(shù)據(jù)。它不像常見的文本數(shù)據(jù)、數(shù)值數(shù)據(jù)那樣友好,而且它和Python中的字典類型數(shù)據(jù)又很相像,給很多人造成了困擾。 本文結(jié)合具體案例詳細介紹
    的頭像 發(fā)表于 11-01 10:59 ?3729次閱讀
    如何利用Python和pandas來處理<b class='flag-5'>json</b>數(shù)據(jù)

    什么是JSON數(shù)據(jù)庫

    如何理解JSON數(shù)據(jù)庫?作為NoSQL數(shù)據(jù)庫的一種類型,JSON數(shù)據(jù)庫有哪些優(yōu)勢呢?JSON數(shù)據(jù)庫如何運作,它為應用程序開發(fā)者帶來了哪些價值呢?文章速覽:什么是JSON什么是
    的頭像 發(fā)表于 12-02 08:04 ?1790次閱讀
    什么是<b class='flag-5'>JSON</b>數(shù)據(jù)庫

    JSON協(xié)議是什么,物聯(lián)網(wǎng)中的RTU中如何使用JSON協(xié)議和服務器交互

    一 概述 1.1 什么是 JSON JSON是JavaScript Object Notation的簡稱,中文含義為“JavaScript 對象表示法”,它是一種數(shù)據(jù)交換的文本格式,而不是一種編程
    的頭像 發(fā)表于 09-25 16:14 ?2975次閱讀
    <b class='flag-5'>JSON</b>協(xié)議是什么,物聯(lián)網(wǎng)中的RTU中如何使用<b class='flag-5'>JSON</b>協(xié)議和服務器交互