主要内容

创建和使用J1939参数组

此示例显示了如何使用J1939使用车辆网络工具箱™使用存储在CAN数据库文件中的信息来创建和管理J1939参数组。此示例使用CAN数据库文件,J1939.DBC.。在需要将数据传输到J1939网络时,建议使用此方式创建和使用参数组。

打开数据库文件

打开数据库文件以访问定义。

db = candatabase('J1939.DBC'
DB =数据库具有属性:名称:'J1939'路径:'/tmp/bdoc21a_1606923_186772/tpa01cb52b/j1939.dbc'节点:{2x1 cell} nodeinfo:[2x1 struct]消息:{2x1 cell} messageInfo:[2x1 struct]属性:{3x1 cell}属性:[3x1 struct] userdata:[]

创建参数组

使用J1939 ParameterGroup.使用数据库中包含的信息创建参数组的功能。

pg = J1939ParameterGroup(DB,'车辆睡觉'
pg =具有属性的ParameterGroup:协议数据单元详细信息:-------------------------名称:'车辆齐兴ataSingle'pgn:40192优先级:6 Pduformattype:'peer-to-peer(类型1)'酸:254目的地dress:254数据详细信息:-------------时间戳:0数据:[255 255 255 255 255 255 255 255]信号:[1x1 struct]其他信息:---------------- userdata:[]

设置源和目标地址

要完全定义参数组并确定网络上传输的后勤,请设置源和目标地址。

pg.sourceaddress = 30 pg.destinationaddress = 50
pg =具有属性的ParameterGroup:协议数据单元详细信息:-------------------------名称:'车辆齐兴ataSingle'pgn:40192优先级:6 Pduformattype:'peer-to-peer(类型1)'酸:30个目的地address:254数据详细信息:-------------时间戳:0数据:[255 255 255 255 255 255 255 255]信号:[1x1 struct]其他信息:---------------- userdata:[] pg = parametergroup具有属性:协议数据单元详细信息:-------------------------:------------时间戳:0数据:[255 255 255 255 255 255 255 255]信号:[1x1结构]其他信息:-------------  -  -  用户数据: []

设置优先级

设定优先属性进一步自定义传输。

pg.priority = 5;

查看信号信息

使用信号属性查看此参数组的信号值。您可以直接写入并从这些信号读取以打包或解压缩参数组中的数据。

PG.Signals.
ANS =带有字段的结构:车辆ign4:-1车辆AIGNAL3:-1车辆AIGNAL2:-1车辆AIGNAL1:-1

更改信号信息

直接写入信号以更改值并读取其当前值。

pg.signals.vehiclyignal1 = 10 pg.signals.vehiclesignal2 = 100 pg.signals.vehiclesignal3 = 1000 pg.signals.vehiclicalignal4 = 10000 pg.signals
PG =具有属性的参数群:协议数据单元详细信息:-------------------------名称:'车辆上达到'PGN:40192优先级:5 PDuFormAttype:'peer-to-peer(类型1)'酸:30目的地:50数据详细信息:-------------时间戳:0数据:[10 0 255 255 255 255 255 255]信号:[1x1 struct]其他信息:---------------- userdata:[] pg = parametergroup具有属性:协议数据单元详细信息:-------------------------名称:'车辆ledataSingle'pgn:40192优先级:5 pduformattype:'peer-to-peer(类型1)'酸:30 destormationaddress:50个数据详细信息:------------  - 时间戳:0数据:[10 0 100 0 255 255 255 255]信号:[1x1结构]其他信息:--------------  -  -  用户数据: []PG =具有属性的参数群:协议数据单元详细信息:-------------------------名称:'车辆上达到'PGN:40192优先级:5 PDuFormAttype: 'Peer-to-Peer (Type 1)' SourceAddress: 30 DestinationAddress: 50 Data Details: ------------- Timestamp: 0 Data: [10 0 100 0 232 3 255 255] Signals: [1x1 struct] Other Information: ------------------ UserData: [] pg = ParameterGroup with properties: Protocol Data Unit Details: --------------------------- Name: 'VehicleDataSingle' PGN: 40192 Priority: 5 PDUFormatType: 'Peer-to-Peer (Type 1)' SourceAddress: 30 DestinationAddress: 50 Data Details: ------------- Timestamp: 0 Data: [10 0 100 0 232 3 16 39] Signals: [1x1 struct] Other Information: ------------------ UserData: [] ans = struct with fields: VehicleSignal4: 10000 VehicleSignal3: 1000 VehicleSignal2: 100 VehicleSignal1: 10

写新的直接数据

您还可以将值直接写入数据财产,虽然通过设置值信号通常推荐和优选。

pg.data(1:2)= [50 0] pg.signals
PG =具有属性的参数群:协议数据单元详细信息:-------------------------名称:'车辆上达到'PGN:40192优先级:5 PDuFormAttype:'peer-to-peer(类型1)'酸:30个目的地address:50数据详细信息:-------------时间戳:0数据:[50 0 100 0 232 3 16 39]信号:[1x1 struct]其他信息:---------------- userdata:[]ans = struct with fields: VehicleSignal4: 10000 VehicleSignal3: 1000 VehicleSignal2: 100 VehicleSignal1: 50