主要内容

开始可以在MATLAB FD沟通

这个例子展示了如何使用可以FD通道传输和接收FD的消息。它使用MathWorks虚拟可以回送FD通道连接配置。

视图可以FD频道

使用canFDChannelList看到所有可用的设备通道支持可以FD。金宝app

canFDChannelList
ans =2×6表供应商设备通道DeviceModel ProtocolMode SerialNumber ___________ ___________ _________ ___________ _________________ _______“MathWorks”“虚拟1”1“虚拟”“可以,可以FD”“0”“MathWorks”“虚拟1”2“虚拟”“可以,可以FD”“0”

创建发送和接收通道

使用canFDChannel与设备指定创建细节可以FD渠道传送和接收消息。

txCh = canFDChannel (“MathWorks”,“虚拟1”,1)
DeviceVendor txCh =通道属性:设备信息:“MathWorks”设备:“虚拟1”DeviceChannelIndex: 1 DeviceSerialNumber: 0 ProtocolMode:跑步可以FD的状态信息:0 MessagesAvailable: 0 MessagesReceived: 0 MessagesTransmitted: 0 InitializationAccess: 1 InitialTimestamp: [0 x0 datetime] FilterHistory:“标准ID过滤器:允许所有|扩展ID过滤器:允许所有的时间信息BusStatus:“N / A”SilentMode: 0 TransceiverName:“N / A”TransceiverState:“N / A”ReceiveErrorCount: 0 TransmitErrorCount: 0 ArbitrationBusSpeed: [] DataBusSpeed:[]其他信息数据库:[]用户数据:[]
rxCh = canFDChannel (“MathWorks”,“虚拟1”2);

配置总线速度

可以FD频道上线之前需要设置的总线速度。仲裁和数据相速度配置使用configBusSpeed

configBusSpeed (txCh, 500000, 1000000);configBusSpeed (rxCh, 500000, 1000000);

打开DBC-File

使用canDatabase打开数据库文件,其中包含可以FD消息和信号的定义。

db = canDatabase (“CANFDExample.dbc”)
db =数据库与属性:名称:“CANFDExample”路径:/ tmp / Bdoc22a_1891349_157288 / tpe433a46b vnt-ex36915890 / CANFDExample。dbc的UTF8_File: / tmp / Bdoc22a_1891349_157288 / tpe433a46b vnt-ex36915890 / CANFDExample。dbc' Nodes: {} NodeInfo: [0x0 struct] Messages: {'CANFDMessage'} MessageInfo: [1x1 struct] Attributes: {2x1 cell} AttributeInfo: [2x1 struct] UserData: []

附加数据库直接接收通道。定义从DBC-files应用自动解码传入消息和信号。

rxCh。数据库=数据库;

启动通道

使用开始命令设置在线渠道。

开始(txCh);开始(rxCh);

创建可以FD消息

创建可以使用FD消息canFDMessage函数。

假msg1 = canFDMessage(500年,12)
msg1 =消息与属性:信息识别ProtocolMode:可以FD的ID: 500扩展:0的名字:“时间戳数据细节:0数据:[0 0 0 0 0 0 0 0 0 0 0 0]的信号:[]长度:12 DLC: 9协议旗帜br: 0 ESI: 0错误:0其他信息数据库:[]用户数据:[]
假msg2 = canFDMessage(1000年,24);假msg3 = canFDMessage(1500年,64年);

参与可以FD的比特率开关功能,设置BRS房地产的消息。

msg1。BRS= true; msg2.BRS = true; msg3.BRS = true;

可以FD消息也可以使用一个数据库创建。数据库定义了消息如果可以也可以FD以及br的地位。

msg4 = canFDMessage (db,“CANFDMessage”)
msg4 =消息与属性:信息识别ProtocolMode:可以FD的ID: 1扩展:0的名字:“CANFDMessage”数据细节时间戳:0数据:[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…信号:[]长度:48 DLC: 14协议旗帜br: 1 ESI: 0错误:0其他信息数据库:[1 x1。数据库用户数据:[]

传递信息

使用传输从传输通道发送创建的消息。

传输(txCh [msg1 msg2 msg3 msg4])

接收消息

接收消息的接收通道使用收到函数。的默认返回类型可以FD频道是一个时间表包含特定于收到可以FD消息的信息。

rxMsg =接收(rxCh正)
rxMsg =4×12时间表时间ID扩展名ProtocolMode数据长度DLC信号误差远程BRS ESI ___________ ____ ________ ___________ _______ __________________________________________________________________________ ______, _______专攻___ _____ _____ 0.14632秒500假{0 x0 char}{'可以FD} {[0 0 0 0 0 0 0 0 0 0 0 0]} 12 9 {0 x0 struct}假假真假0.14632秒1000假{0 x0 char}{'可以FD} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]} 24 12 {0 x0 struct}假假真假0.14632秒1500假{0 x0 char}{'可以FD '} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…]}64 15 {0 x0 struct}假假真假0.14632秒1假{‘CANFDMessage}{'可以FD '} {[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0…48 14]}{1 x1 struct}假假真的假的

停止通道

使用停止命令设置线下渠道。

停止(txCh);停止(rxCh);

关闭DBC-File

关闭访问DBC-file通过清算其变量的工作区。

清晰的db