メインコンテンツ

このページは機械翻訳を使用して翻訳されました。最新版の英語を参照するには、ここをクリックします。

MDF ファイルから J1939 データを復号化する

この例では、解析のために MATLAB ® の MDF ファイルから J1939 データをインポートして復号化する方法を示します。この例で使用される MDF ファイルは、「システム構成 (J1939)」サンプルを使用して Vector CANoe から生成されました。この例では、Vector サンプル コンフィギュレーションに付属する CAN データベース ファイル Powertrain_J1939_MDF.dbc も使用します。

MDFファイルの詳細を表示

mdfInfo 関数を使用して MDF ファイルのメタデータを表示します。

mdfInfo("LoggingMDF_J1939.mf4")
ans = 
  MDFInfo with properties:

   File Details
                  Name: "LoggingMDF_J1939.mf4"
                  Path: "/tmp/Bdoc25a_2864802_1971459/tpcbc94420/vnt-ex76385747/LoggingMDF_J1939.mf4"
                Author: ""
            Department: ""
               Project: ""
               Subject: ""
               Comment: ""
               Version: "4.10"
      InitialTimestamp: 2021-04-21 14:05:13.232000000

   Creator Details
     ProgramIdentifier: "MDF4Lib"
     CreatorVendorName: "Vector Informatik GmbH"
       CreatorToolName: "CANoe"
    CreatorToolVersion: "12.0.167"
       CreatorUserName: "sdange"
        CreatorComment: "Created using MdfLog version 1.5.1.0 and Mdf4Lib version 1.6.1.0  X64 (2018-03-13)"

   File Contents
            Attachment: [5×7 table]
     ChannelGroupCount: 43
                 Event: [0×8 eventtable]

J1939 CANデータフレームを識別する

バス ロギングの関連規格である ASAM MDF によれば、CAN バス システムに定義されるイベント タイプは、「CAN_DataFrame」、「CAN_RemoteFrame」、「CAN_ErrorFrame」、または「CAN_OverloadFrame」になります。 J1939 は、CAN プロトコルの上に構築されたプロトコルです。J1939 パラメータ グループ (PG) は、同じトピックに属し、同じ伝送速度を共有するパラメータのセットです。たとえば、電子エンジン コントローラー 1 (EEC1) PG には、エンジン速度、エンジン トルク要求率、実際のエンジン トルク率などが含まれます。 各パラメータ グループは、パラメーター グループ ナンバー (PGN) と呼ばれる一意の番号によってアドレス指定されます。J1939 PG は CAN フレームとして送信され、MDF ファイルには J1939 PG が「CAN_DataFrame」として記録されていることが反映されます。

標準では、イベント構造のチャネル名の前にイベント タイプ名 (例: 「CAN_DataFrame」) を付ける必要があることが規定されています。通常、メンバー チャネルを指定するには、区切り文字としてドットが使用されます (例: "CAN_DataFrame.ID" または "CAN_DataFrame.DataLength")。

mdfChannelInfo 関数を使用して、「CAN_DataFrame.*」に一致するチャネル名を見つけます。一致したチャネルに関する情報を含むテーブルが返されます。

mdfChannelInfo("LoggingMDF_J1939.mf4", Channel="CAN_DataFrame.*")
ans=24×13 table
                Name                 GroupNumber    GroupNumSamples    GroupAcquisitionName    GroupComment    GroupSourceName    GroupSourcePath      DisplayName         Unit                                 Comment                              ExtendedNamePrefix    SourceName     SourcePath
    _____________________________    ___________    _______________    ____________________    ____________    _______________    _______________    _______________    ___________    __________________________________________________________    __________________    ___________    __________

    "CAN_DataFrame.BitCount"             13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "BitCount"         <undefined>    Frame length in bits.                                                CAN2           <undefined>       CAN2   
    "CAN_DataFrame.BitCount"             14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "BitCount"         <undefined>    Frame length in bits.                                                CAN1           <undefined>       CAN1   
    "CAN_DataFrame.BusChannel"           13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "BusChannel"       <undefined>    Logical bus channel number the frame was sent or received.           CAN2           <undefined>       CAN2   
    "CAN_DataFrame.BusChannel"           14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "BusChannel"       <undefined>    Logical bus channel number the frame was sent or received.           CAN1           <undefined>       CAN1   
    "CAN_DataFrame.DLC"                  13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "DLC"              <undefined>    Data length code.                                                    CAN2           <undefined>       CAN2   
    "CAN_DataFrame.DLC"                  14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "DLC"              <undefined>    Data length code.                                                    CAN1           <undefined>       CAN1   
    "CAN_DataFrame.DataBytes"            13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "DataBytes"        <undefined>    Payload data bytes containing the signal values.                     CAN2           <undefined>       CAN2   
    "CAN_DataFrame.DataBytes"            14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "DataBytes"        <undefined>    Payload data bytes containing the signal values.                     CAN1           <undefined>       CAN1   
    "CAN_DataFrame.DataLength"           13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "DataLength"       <undefined>    Length of stored payload in bytes.                                   CAN2           <undefined>       CAN2   
    "CAN_DataFrame.DataLength"           14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "DataLength"       <undefined>    Length of stored payload in bytes.                                   CAN1           <undefined>       CAN1   
    "CAN_DataFrame.Dir"                  13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "Dir"              <undefined>    Bit signal indicating the direction (Rx, Tx).                        CAN2           <undefined>       CAN2   
    "CAN_DataFrame.Dir"                  14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "Dir"              <undefined>    Bit signal indicating the direction (Rx, Tx).                        CAN1           <undefined>       CAN1   
    "CAN_DataFrame.Flags"                13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "Flags"            <undefined>    Combination of bit flags for the message.                            CAN2           <undefined>       CAN2   
    "CAN_DataFrame.Flags"                14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "Flags"            <undefined>    Combination of bit flags for the message.                            CAN1           <undefined>       CAN1   
    "CAN_DataFrame.FrameDuration"        13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "FrameDuration"    ns             Duration for transmission of the frame in nanoseconds.               CAN2           <undefined>       CAN2   
    "CAN_DataFrame.FrameDuration"        14              92720                 CAN1            <undefined>       <undefined>       CAN_DataFrame     "FrameDuration"    ns             Duration for transmission of the frame in nanoseconds.               CAN1           <undefined>       CAN1   
      ⋮

対象となる J1939 パワートレイン データは CAN 2 ネットワークから記録されました。上記の出力は、CAN 2 ネットワークからのデータが MDF ファイルのチャネル グループ 13 に保存されていることを示しています。GroupNumber オプションを指定して mdfChannelGroupInfo 関数を使用し、チャネル グループ 13 の詳細を表示します。

mdfChannelGroupInfo("LoggingMDF_J1939.mf4", GroupNumber=13)
ans=1×13 table
    GroupNumber    AcquisitionName      Comment      NumSamples    DataSize    Sorted    SourceName      SourcePath      SourceComment    SourceType    SourceBusType    SourceBusChannelNumber    SourceSimulated
    ___________    _______________    ___________    __________    ________    ______    ___________    _____________    _____________    __________    _____________    ______________________    _______________

        13              CAN2          <undefined>      26054        703458     true      <undefined>    CAN_DataFrame     <undefined>        Bus             CAN                   2                    false     

mdfChannelInfo を使用して、チャネル グループ 13 内のすべてのチャネルの詳細を表示します。

mdfChannelInfo("LoggingMDF_J1939.mf4", GroupNumber=13)
ans=13×13 table
                Name                 GroupNumber    GroupNumSamples    GroupAcquisitionName    GroupComment    GroupSourceName    GroupSourcePath      DisplayName         Unit                                 Comment                              ExtendedNamePrefix    SourceName     SourcePath 
    _____________________________    ___________    _______________    ____________________    ____________    _______________    _______________    _______________    ___________    __________________________________________________________    __________________    ___________    ___________

    "CAN_DataFrame.BitCount"             13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "BitCount"         <undefined>    Frame length in bits.                                                CAN2           <undefined>    CAN2       
    "CAN_DataFrame.BusChannel"           13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "BusChannel"       <undefined>    Logical bus channel number the frame was sent or received.           CAN2           <undefined>    CAN2       
    "CAN_DataFrame.DLC"                  13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "DLC"              <undefined>    Data length code.                                                    CAN2           <undefined>    CAN2       
    "CAN_DataFrame.DataBytes"            13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "DataBytes"        <undefined>    Payload data bytes containing the signal values.                     CAN2           <undefined>    CAN2       
    "CAN_DataFrame.DataLength"           13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "DataLength"       <undefined>    Length of stored payload in bytes.                                   CAN2           <undefined>    CAN2       
    "CAN_DataFrame.Dir"                  13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "Dir"              <undefined>    Bit signal indicating the direction (Rx, Tx).                        CAN2           <undefined>    CAN2       
    "CAN_DataFrame.Flags"                13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "Flags"            <undefined>    Combination of bit flags for the message.                            CAN2           <undefined>    CAN2       
    "CAN_DataFrame.FrameDuration"        13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "FrameDuration"    ns             Duration for transmission of the frame in nanoseconds.               CAN2           <undefined>    CAN2       
    "CAN_DataFrame.ID"                   13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "ID"               <undefined>    ID of the CAN message.                                               CAN2           <undefined>    CAN2       
    "CAN_DataFrame.IDE"                  13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "IDE"              <undefined>    Identifier Extension bit.                                            CAN2           <undefined>    CAN2       
    "CAN_DataFrame.SingleWire"           13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "SingleWire"       <undefined>    Bit flag indicating a single wire operation.                         CAN2           <undefined>    CAN2       
    "CAN_DataFrame.WakeUp"               13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     "WakeUp"           <undefined>    Bit flag indicating a wake-up message (high voltage).                CAN2           <undefined>    CAN2       
    "t"                                  13              26054                 CAN2            <undefined>       <undefined>       CAN_DataFrame     ""                 s              <undefined>                                                          CAN2           <undefined>    <undefined>

MDF ファイルから J1939 CAN データフレームを読み取る

mdfRead 関数を使用して、チャネル グループ 13 内のすべてのデータを timetable に読み取ります。timetable は、ASAM MDF 規格のログ形式に従って構成されています。各行はバスからの 1 つの生の CAN フレームを表し、各列は指定されたチャネル グループ内のチャネルを表します。「CAN_DataFrame.Dir」などのチャネルは、バス ロギング標準に従って名前が付けられます。

data = mdfRead("LoggingMDF_J1939.mf4", GroupNumber=13)
data = 1×1 cell array
    {26054×12 timetable}

canData = data{1}
canData=26054×12 timetable
             t          CAN_DataFrame.BusChannel    CAN_DataFrame.Flags    CAN_DataFrame.Dir    CAN_DataFrame.SingleWire    CAN_DataFrame.WakeUp    CAN_DataFrame.ID    CAN_DataFrame.IDE    CAN_DataFrame.FrameDuration    CAN_DataFrame.BitCount    CAN_DataFrame.DLC    CAN_DataFrame.DataLength          CAN_DataFrame.DataBytes      
        ____________    ________________________    ___________________    _________________    ________________________    ____________________    ________________    _________________    ___________________________    ______________________    _________________    ________________________    ___________________________________

        0.000568 sec               2                         1                   "Tx"                      0                         0                 2565799910               1                         0                           0                       8                       8                {[      105 52 169 232 0 131 0 16]}
        0.27057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.29057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.30058 sec                2                         1                   "Tx"                      0                         0                 2565866470               1                         0                           0                       8                       8                {[  255 0 255 255 255 255 255 255]}
        0.30116 sec                2                         1                   "Tx"                      0                         0                 2566810854               1                         0                           0                       8                       8                {[255 255 255 255 255 255 255 255]}
        0.31057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.33057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.35058 sec                2                         1                   "Tx"                      0                         0                 2565866470               1                         0                           0                       8                       8                {[  255 0 255 255 255 255 255 255]}
        0.35115 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.35173 sec                2                         1                   "Tx"                      0                         0                 2566810854               1                         0                           0                       8                       8                {[255 255 255 255 255 255 255 255]}
        0.3523 sec                 2                         1                   "Tx"                      0                         0                 2566844902               1                         0                           0                       8                       8                {[     255 0 0 12 255 255 224 255]}
        0.37057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.39057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
        0.40058 sec                2                         1                   "Tx"                      0                         0                 2565866470               1                         0                           0                       8                       8                {[  255 0 255 255 255 255 255 255]}
        0.40116 sec                2                         1                   "Tx"                      0                         0                 2566810854               1                         0                           0                       8                       8                {[255 255 255 255 255 255 255 255]}
        0.41057 sec                2                         1                   "Tx"                      0                         0                 2565866726               1                         0                           0                       8                       8                {[  255 255 255 208 7 255 255 255]}
      ⋮

DBC ファイルを使用して J1939 パラメータ グループを復号化する

canDatabase 関数を使用して DBC ファイルを開きます。

canDB = canDatabase("Powertrain_J1939_MDF.dbc")
canDB = 
  Database with properties:

             Name: 'Powertrain_J1939_MDF'
             Path: '/tmp/Bdoc25a_2864802_1971459/tpcbc94420/vnt-ex76385747/Powertrain_J1939_MDF.dbc'
        UTF8_File: '/tmp/Bdoc25a_2864802_1971459/tp5988b44b_1909_45ea_9b03_9626dd49e7fb'
            Nodes: {12×1 cell}
         NodeInfo: [12×1 struct]
         Messages: {93×1 cell}
      MessageInfo: [93×1 struct]
       Attributes: {3×1 cell}
    AttributeInfo: [3×1 struct]
         UserData: []

j1939ParameterGroupTimetable 関数は、データベースを使用して、生の CAN データを PG、PGN、および信号に復号化しますASAM 標準ログ形式データの timetable は、Vehicle Network Toolbox ™ J1939 parameter group timetable に変換されます。

j1939PGTimetable = j1939ParameterGroupTimetable(canData, canDB)
j1939PGTimetable=26054×8 timetable
        Time          Name       PGN     Priority        PDUFormatType        SourceAddress    DestinationAddress                   Data                      Signals   
    ____________    ________    _____    ________    _____________________    _____________    __________________    ___________________________________    ____________

    0.000568 sec    ACL         60928       6        Peer-to-Peer (Type 1)         230                255            {[      105 52 169 232 0 131 0 16]}    {1×1 struct}
    0.27057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.29057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.30058 sec     EEC2_EMS    61443       6        Broadcast (Type 2)            230                255            {[  255 0 255 255 255 255 255 255]}    {1×1 struct}
    0.30116 sec     TCO1_TCO    65132       6        Broadcast (Type 2)            230                255            {[255 255 255 255 255 255 255 255]}    {1×1 struct}
    0.31057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.33057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.35058 sec     EEC2_EMS    61443       6        Broadcast (Type 2)            230                255            {[  255 0 255 255 255 255 255 255]}    {1×1 struct}
    0.35115 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.35173 sec     TCO1_TCO    65132       6        Broadcast (Type 2)            230                255            {[255 255 255 255 255 255 255 255]}    {1×1 struct}
    0.3523 sec      CCVS_EMS    65265       6        Broadcast (Type 2)            230                255            {[     255 0 0 12 255 255 224 255]}    {1×1 struct}
    0.37057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.39057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
    0.40058 sec     EEC2_EMS    61443       6        Broadcast (Type 2)            230                255            {[  255 0 255 255 255 255 255 255]}    {1×1 struct}
    0.40116 sec     TCO1_TCO    65132       6        Broadcast (Type 2)            230                255            {[255 255 255 255 255 255 255 255]}    {1×1 struct}
    0.41057 sec     EEC1_EMS    61444       6        Broadcast (Type 2)            230                255            {[  255 255 255 208 7 255 255 255]}    {1×1 struct}
      ⋮

「EEC1_EMS」PG の 1 つのインスタンスである timetable の 3 番目の PG に保存されている信号データを表示します。

signalData = j1939PGTimetable.Signals{3}
signalData = struct with fields:
             EngDemandPercentTorque: 130
                     EngStarterMode: 15
    SrcAddrssOfCtrllngDvcForEngCtrl: 255
                           EngSpeed: 250
             ActualEngPercentTorque: 130
      DriversDemandEngPercentTorque: 130
                      EngTorqueMode: 15

関心のある信号値を再パッケージ化して可視化する

j1939SignalTimetable 関数を使用して、バス上の各固有 PGN からの信号データを signal timetable に再パッケージ化します。この例では、J1939 PG timetable から、対象の 2 つの PG「EEC1_EMS」と「TCO1_TCO」の 2 つの個別の signal timetable を作成します。

signalTimetable1 = j1939SignalTimetable(j1939PGTimetable, "ParameterGroups", "EEC1_EMS")
signalTimetable1=12043×7 timetable
       Time        EngDemandPercentTorque    EngStarterMode    SrcAddrssOfCtrllngDvcForEngCtrl    EngSpeed    ActualEngPercentTorque    DriversDemandEngPercentTorque    EngTorqueMode
    ___________    ______________________    ______________    _______________________________    ________    ______________________    _____________________________    _____________

    0.27057 sec             130                    15                        255                    250                130                           130                      15      
    0.29057 sec             130                    15                        255                    250                130                           130                      15      
    0.31057 sec             130                    15                        255                    250                130                           130                      15      
    0.33057 sec             130                    15                        255                    250                130                           130                      15      
    0.35115 sec             130                    15                        255                    250                130                           130                      15      
    0.37057 sec             130                    15                        255                    250                130                           130                      15      
    0.39057 sec             130                    15                        255                    250                130                           130                      15      
    0.41057 sec             130                    15                        255                    250                130                           130                      15      
    0.43057 sec             130                    15                        255                    250                130                           130                      15      
    0.45115 sec             130                    15                        255                    250                130                           130                      15      
    0.47057 sec             130                    15                        255                    250                130                           130                      15      
    0.49057 sec             130                    15                        255                    250                130                           130                      15      
    0.51057 sec             130                    15                        255                    250                130                           130                      15      
    0.53057 sec             130                    15                        255                    250                130                           130                      15      
    0.55115 sec             130                    15                        255                    250                130                           130                      15      
    0.57057 sec             130                    15                        255                    250                130                           130                      15      
      ⋮

signalTimetable2 = j1939SignalTimetable(j1939PGTimetable, "ParameterGroups", "TCO1_TCO")
signalTimetable2=4817×14 timetable
       Time        TachographVehicleSpeed    TachographOutputShaftSpeed    DirectionIndicator    TachographPerformance    HandlingInformation    SystemEvent    DriverCardDriver2    Driver2TimeRelatedStates    Overspeed    DriverCardDriver1    Driver1TimeRelatedStates    DriveRecognize    Driver2WorkingState    Driver1WorkingState
    ___________    ______________________    __________________________    __________________    _____________________    ___________________    ___________    _________________    ________________________    _________    _________________    ________________________    ______________    ___________________    ___________________

    0.30116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.35173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.40116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.45173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.50116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.55173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.60116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.65173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.70116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.75173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.80116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.85173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.90116 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    0.95173 sec             256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    1.0012 sec              256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
    1.0517 sec              256                        8191.9                      3                       3                       3                  3                 3                       15                   3                3                       15                     3                    7                      7         
      ⋮

あるいは、J1939 PG timetable 全体を、各 PG の複数の J1939 signal timetable を含む構造体に変換し、その構造体にインデックスを付けて特定の PG のデータを取得することもできます。

signalTimetables = j1939SignalTimetable(j1939PGTimetable)
signalTimetables = struct with fields:
          ACL: [1×14 timetable]
     CCVS_EMS: [2408×19 timetable]
           DD: [240×5 timetable]
     EEC1_EMS: [12043×7 timetable]
     EEC2_EMS: [4817×10 timetable]
      ET1_EMS: [240×6 timetable]
    HOURS_EMS: [240×2 timetable]
      LFC_EMS: [480×2 timetable]
         SERV: [240×6 timetable]
     TCO1_TCO: [4817×14 timetable]
     VDHR_EMS: [240×2 timetable]
       VI_EMS: [24×1 timetable]
       VW_SSC: [240×4 timetable]

signalTimetables.EEC1_EMS
ans=12043×7 timetable
       Time        EngDemandPercentTorque    EngStarterMode    SrcAddrssOfCtrllngDvcForEngCtrl    EngSpeed    ActualEngPercentTorque    DriversDemandEngPercentTorque    EngTorqueMode
    ___________    ______________________    ______________    _______________________________    ________    ______________________    _____________________________    _____________

    0.27057 sec             130                    15                        255                    250                130                           130                      15      
    0.29057 sec             130                    15                        255                    250                130                           130                      15      
    0.31057 sec             130                    15                        255                    250                130                           130                      15      
    0.33057 sec             130                    15                        255                    250                130                           130                      15      
    0.35115 sec             130                    15                        255                    250                130                           130                      15      
    0.37057 sec             130                    15                        255                    250                130                           130                      15      
    0.39057 sec             130                    15                        255                    250                130                           130                      15      
    0.41057 sec             130                    15                        255                    250                130                           130                      15      
    0.43057 sec             130                    15                        255                    250                130                           130                      15      
    0.45115 sec             130                    15                        255                    250                130                           130                      15      
    0.47057 sec             130                    15                        255                    250                130                           130                      15      
    0.49057 sec             130                    15                        255                    250                130                           130                      15      
    0.51057 sec             130                    15                        255                    250                130                           130                      15      
    0.53057 sec             130                    15                        255                    250                130                           130                      15      
    0.55115 sec             130                    15                        255                    250                130                           130                      15      
    0.57057 sec             130                    15                        255                    250                130                           130                      15      
      ⋮

関心のある信号を可視化するために、signal timetable の変数を時間の経過に沿ってプロットし、さらに解析することができます。この例では、「EEC1_EMS」PG からの「EngineSpeed」信号を確認します。

plot(signalTimetable1.Time, signalTimetable1.EngSpeed, "r")
title("{\itEngineSpeed} signal from {\itEEC1\_EMS} PG", "FontWeight", "bold")
xlabel("Timestamp")
ylabel("Engine Speed")

Figure contains an axes object. The axes object with title EngineSpeed blank signal blank from blank EEC 1 _ EMS PG, xlabel Timestamp, ylabel Engine Speed contains an object of type line.

DBC ファイルを閉じる

ワークスペースから変数をクリアして、DBC ファイルへのアクセスを閉じます。

clear canDB