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 通道对象形式返回,具有以下属性。

CAN 通道属性:

BusLoadCAN 总线上的负载
Database存储 CAN 数据库信息
MessageReceivedFcn指定要运行的函数
MessageReceivedFcnCount指定触发函数需要达到的可用报文数
Running确定通道的状态
SilentMode指定通道处于活动状态还是静默状态
TransceiverName设备收发器的名称
TransceiverState显示收发器的状态或模式
UserData输入自定义数据

CAN 设备属性:

Device显示通道设备类型
Device(NI)显示 NI CAN 通道设备类型
DeviceChannelIndex显示设备通道索引
DeviceSerialNumber显示设备序列号
DeviceVendor显示设备供应商名称
InitializationAccess确定设备通道的控制权限

位定时属性:

BusSpeed总线的比特率
NumOfSamples显示对通道可用的样本数
SJW位时间段的同步跳转宽度 (SJW)
TSEG1显示通道可以将采样时间延长的时间量
TSEG2显示通道可以将采样时间缩短的时间量

提示

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

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

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

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

另请参阅

函数

在 R2009a 中推出