Main Content

canChannel

构造连接到指定设备的 CAN 通道

说明

示例

canch = canChannel(vendor,device,devicechannelindex) 返回连接到指定供应商提供的设备的 CAN 通道。

对于 Vector 产品,device 是字符向量,该向量将设备类型和设备索引组合在一起,例如 'CANCaseXL 1'。例如,如果有两个 CANcardXL 设备,device 可以是 'CANcardXL 1''CANcardXL 2'

对 National Instruments™ 和 PEAK-System 设备使用 canch = canChannel(vendor,device)

对于 National Instruments,vendor 是字符向量 'NI'devicenumber 是在 NI Measurement & Automation Explorer 中定义的接口编号。

对于 PEAK-System 设备,vendor 是字符向量 'PEAK-System'devicenumber 是为通道定义的设备编号。

示例

canch = canChannel(___,'ProtocolMode','CAN FD') 返回连接到支持 CAN FD 的设备的通道。默认 ProtocolMode 设置为 'CAN',表示标准 CAN 支持。为 'CAN' 配置的通道不能传输或接收 CAN FD 报文。

示例

全部折叠

为多个供应商分别创建 CAN 通道。

canch1 = canChannel('Vector','CANCaseXL 1',1);
canch2 = canChannel('Vector','Virtual 1',2);
canch3 = canChannel('NI','CAN1');
canch4 = canChannel('PEAK-System','PCAN_USBBUS1');
canch5 = canChannel('MathWorks','Virtual 1',2)
 

canch5 = 

  Channel with properties:

   Device Information
            DeviceVendor: 'MathWorks'
                  Device: 'Virtual 1'
      DeviceChannelIndex: 2
      DeviceSerialNumber: 0
            ProtocolMode: 'CAN'

   Status Information
                 Running: 0
       MessagesAvailable: 0
        MessagesReceived: 0
     MessagesTransmitted: 0
    InitializationAccess: 1
        InitialTimestamp: [0×0 datetime]
           FilterHistory: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

   Channel Information
               BusStatus: 'N/A'
              SilentMode: 0
         TransceiverName: 'N/A'
        TransceiverState: 'N/A'
       ReceiveErrorCount: 0
      TransmitErrorCount: 0
                BusSpeed: 500000
                     SJW: []
                   TSEG1: []
                   TSEG2: []
            NumOfSamples: []

   Other Information
                Database: []
                UserData: []

在 MathWorks 虚拟设备上创建一个 CAN FD 通道。

canch6 = canChannel('MathWorks','Virtual 1',2,'ProtocolMode','CAN FD')
canch6 = 

  Channel with properties:

   Device Information
            DeviceVendor: 'MathWorks'
                  Device: 'Virtual 1'
      DeviceChannelIndex: 2
      DeviceSerialNumber: 0
            ProtocolMode: 'CAN FD'

   Status Information
                 Running: 0
       MessagesAvailable: 0
        MessagesReceived: 0
     MessagesTransmitted: 0
    InitializationAccess: 1
        InitialTimestamp: [0×0 datetime]
           FilterHistory: 'Standard ID Filter: Allow All | Extended ID Filter: Allow All'

   Bit Timing Information
               BusStatus: 'N/A'
              SilentMode: 0
         TransceiverName: 'N/A'
        TransceiverState: 'N/A'
       ReceiveErrorCount: 0
      TransmitErrorCount: 0
     ArbitrationBusSpeed: []
            DataBusSpeed: []

   Other Information
                Database: []
                UserData: []

输入参数

全部折叠

CAN 设备供应商,指定为 'MathWorks''Kvaser''NI''PEAK-System''Vector'

示例: 'MathWorks'

数据类型: char | string

通道所连接的 CAN 设备,指定为字符向量或字符串。有效值取决于指定的供应商。

示例: 'Virtual 1'

数据类型: char | string

CAN 设备通道端口或索引,指定为数值。

示例: 1

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

输出参数

全部折叠

CAN 设备通道,以具有 can.Channel 属性can.Channel 对象形式返回。

提示

  • 使用 canChannelList 获取可用设备列表。

  • 在同一 NI-XNET 或 PEAK-System 设备通道上只能配置一个 canChannel

  • 您不能使用同一变量连续创建多个通道。在使用同一变量构造新 CAN 通道之前,请清理任何正在使用的通道。

  • 您不能创建 CAN 通道对象数组。您创建的每个对象必须作为其自己的单个变量存在。

版本历史记录

在 R2009a 中推出

另请参阅

函数

属性