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

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

下面請(qǐng)跟隨小編一起來學(xué)習(xí)一下吧!

本文分享:

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

一、JSON文本

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

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

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

鍵名必須是雙引號(hào)引起來的字符串。

值類型:

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

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

布爾值: true 或 false。

空值: null。

對(duì)象: 用花括號(hào) {} 包裹的一組無序的鍵值對(duì)??梢郧短?。

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

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

最后一個(gè)元素后不能有逗號(hào)。

示例如下:

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

二、NI-XNET Database Editor

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

三、操作步驟

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

在程序框圖中右擊,找到“平化/還原字符串”下的兩個(gè)VI,如下圖所示。這兩個(gè)VI分別為將簇轉(zhuǎn)為JSON文本、從JSON文本轉(zhuǎn)為簇。使用“從JSON文本轉(zhuǎn)為簇”即可將JSON文本轉(zhuǎn)化為L(zhǎng)abVIEW中可以使用的簇,這樣就可以免去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編碼,導(dǎo)致轉(zhuǎn)換失敗。通過下圖所示的“GBK向UTF-8轉(zhuǎn)換”文本編碼轉(zhuǎn)換器,可以解決這個(gè)問題。

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

3、UTF8Encoding

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

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

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

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

在“對(duì)象”部分雙擊“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、關(guān)鍵程序

在程序中獲取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)容,實(shí)現(xiàn)CAN數(shù)據(jù)發(fā)送與接收,優(yōu)化了手動(dòng)輸入狀態(tài)對(duì)應(yīng)的數(shù)據(jù)的操作。

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

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

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

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

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

    關(guān)注

    1

    文章

    596

    瀏覽量

    23170
  • 文本
    +關(guān)注

    關(guān)注

    0

    文章

    120

    瀏覽量

    17872
  • JSON
    +關(guān)注

    關(guān)注

    0

    文章

    128

    瀏覽量

    7783

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

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    關(guān)于CANdb++ Editor編寫DBC文件時(shí)Factor的設(shè)置問題求解

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

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

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

    如何對(duì)基于stm32的json進(jìn)行解析

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

    為什么無法訪問HTTPS URL JSON?

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

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

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

    基于Json格式的文本視圖驗(yàn)證工具

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

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

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

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

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

    DBC編輯_文本形式編輯

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

    CAN DBC文件解析

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

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

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

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

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

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

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

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

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