主要内容

blfwrite

将数据写入 Vector BLF 文件

说明

blfwrite(blfFile,msgtable,chanID,prot)msgtable 中的 CAN 报文时间表写入指定的 BLF 文件。该函数只允许写入新文件,因此无法覆盖现有文件或数据。

示例

示例

全部折叠

将 CAN 报文的时间表写入 BLF 文件中的指定通道。

创建报文时间表。在本例中,已从 MDF 文件中读取报文。

canmsgtable = canMessageTimetable(mdfData{3},db)
canmsgtable =

  10×8 timetable

     Time      ID    Extended      Name                    Data                   Length      Signals       Error    Remote
    _______    __    ________    ________    _________________________________    ______    ____________    _____    ______

    0.1 sec    1      false      {'Msg1'}    {[   41 107 214 235 44 169 3 33]}      8       {1×1 struct}    false    false 
    0.2 sec    2      false      {'Msg2'}    {[  187 239 95 95 76 252 16 236]}      8       {1×1 struct}    false    false 
    0.3 sec    3      false      {'Msg3'}    {[   190 212 237 81 6 69 77 153]}      8       {1×1 struct}    false    false 
    0.4 sec    4      true       {'Msg4'}    {[     37 142 81 101 83 5 92 51]}      8       {1×1 struct}    false    false 
    0.5 sec    5      true       {'Msg5'}    {[  236 63 84 22 167 34 205 204]}      8       {1×1 struct}    false    false 
    0.6 sec    6      true       {'Msg6'}    {[   143 96 212 243 78 74 96 61]}      8       {1×1 struct}    false    false 
    1.1 sec    1      false      {'Msg1'}    {[203 238 47 104 22 117 147 109]}      8       {1×1 struct}    false    false 
    1.2 sec    2      false      {'Msg2'}    {[     53 51 244 13 76 230 5 57]}      8       {1×1 struct}    false    false 
    1.3 sec    3      false      {'Msg3'}    {[  33 16 115 17 139 208 161 90]}      8       {1×1 struct}    false    false 
    1.4 sec    4      true       {'Msg4'}    {[ 80 99 145 50 216 246 168 233]}      8       {1×1 struct}    false    false 
canFDmsgtable1 = canFDMessageTimetable(mdfData{1},db);
canFDmsgtable2 = canFDMessageTimetable(mdfData{2},db)
canFDmsgtimetable2 =

  10×12 timetable

     Time      ID    Extended      Name      ProtocolMode                                                                          Data                                                                           Length    DLC      Signals       Error    Remote     BRS      ESI 
    _______    __    ________    ________    ____________    _________________________________________________________________________________________________________________________________________________    ______    ___    ____________    _____    ______    _____    _____

    0.1 sec    1      false      {'Msg1'}     {'CAN FD'}     {[ 41 107 214 235 44 169 3 33 187 239 95 95 76 252 16 236 190 212 237 81 6 69 77 153 37 142 81 101 83 5 92 51 236 63 84 22 167 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    0.2 sec    2      false      {'Msg2'}     {'CAN FD'}     {[ 33 16 115 17 139 208 161 90 80 99 145 50 216 246 168 233 249 128 114 64 141 110 121 236 161 43 114 54 146 103 182 118 53 42 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    0.3 sec    3      false      {'Msg3'}     {'CAN FD'}     {[206 67 65 130 111 49 196 115 252 101 157 117 157 47 213 183 155 239 79 68 251 228 47 211 221 25 93 98 135 206 147 125 70 239 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    0.4 sec    4      true       {'Msg4'}     {'CAN FD'}     {[  168 43 212 126 30 242 118 79 29 221 65 111 200 149 199 191 103 213 104 43 234 224 199 62 135 85 33 63 178 57 244 68 53 210 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    0.5 sec    5      true       {'Msg5'}     {'CAN FD'}     {[97 41 5 128 34 252 129 141 206 123 122 36 76 89 242 171 97 164 230 2 50 215 93 94 11 153 141 99 210 103 157 130 212 85 58 61 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    0.6 sec    6      true       {'Msg6'}     {'CAN FD'}     {[   109 97 231 199 193 245 237 16 236 40 8 217 215 234 9 226 206 16 176 23 233 130 75 163 147 98 47 35 233 216 16 178 186 187 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    1.1 sec    1      false      {'Msg1'}     {'CAN FD'}     {[   2 55 212 79 134 69 9 119 147 14 103 20 92 247 123 17 178 140 233 118 107 215 42 65 143 232 212 19 182 75 13 139 58 137 56 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    1.2 sec    2      false      {'Msg2'}     {'CAN FD'}     {[ 145 204 224 85 56 19 218 37 31 26 88 153 136 239 253 159 209 202 250 237 205 141 85 167 40 170 141 137 58 63 24 9 232 1 240 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    1.3 sec    3      false      {'Msg3'}     {'CAN FD'}     {[  210 134 98 88 95 196 47 59 45 118 88 238 205 2 2 180 48 64 8 10 232 29 102 8 203 97 166 155 180 243 243 99 25 165 1 144 85 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false
    1.4 sec    4      true       {'Msg4'}     {'CAN FD'}     {[   184 7 111 20 68 132 14 154 24 142 37 89 92 158 57 188 146 160 122 153 85 188 183 212 39 136 46 30 39 230 161 20 96 59 160 … ] (1×64 uint8)}      64      15     {1×1 struct}    false    false     true     false

将一个数据集写入单个通道。

blfwrite("newfile.blf",canmsgtable,1,"CAN")

将两个数据集写入同一通道。

blfwrite("newfile.blf",{canFDmsgtable2,canFDmsgtable2},[1,1],["CAN FD","CAN FD"])

将两个数据集分别写入使用不同协议的单独通道。

blfwrite("newfile.blf",{canmsgtable,canFDmsgtable2},[1,2],["CAN","CAN FD"])

输入参数

全部折叠

要写入的 BLF 文件的路径,指定为字符串或字符向量。该值可以指定当前文件夹中的文件,也可以指定相对路径名称或完整路径名称。

示例: "MultipleChannelFile.blf"

数据类型: string | char

要写入 BLF 文件的数据,指定为 CAN 报文的时间表或此类时间表的元胞数组。如果使用同一协议,您可以将多个表写入同一通道。根据 CAN 报文创建时间表的一种方法是使用函数 canMessageTimetablecanFDMessageTimetable

数据类型: timetable

通道 ID,指定为数值标量或数组值,用于标识写入数据的通道。

示例: [1,2,4]

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

报文协议,指定为 "CAN""CAN FD"。当写入多个数据集时,将协议指定为与正在写入的数据集对应的字符串的数组。

示例: ["CAN","CAN FD","CAN"]

数据类型: char | string

版本历史记录

在 R2019a 中推出