AnyMath 文档

CAN模块支持包

CAN模块支持包确保操作 *AnyMath*使用库块的CAN接口 CAN. 包运行在子系统之上 恩吉。综合服务 它允许您配置接口,发送和接收CAN消息。

要求

*在操作系统中配置CAN接口。 *在CAN库块中使用的接口参数(设备名称和比特率)。 *为您正在使用的适配器(Windows)安装了驱动程序/实用程序。

有关详细信息,请参阅 CAN.

快速启动

  1. 安装或连接*Engee子系统。集成*如图所示 文章.

  2. 在操作系统中配置CAN接口,并定义将在CAN块中指定的*Channel/port*值。:

    **Linux(socketcan)*:提升网络接口 可0/vcan0 (有关命令的示例,请参阅[CAN Interfaces])。 **视窗(pcan的)*:安装*PCAN-Basic*(峰值系统)并使用以下端口 PCAN_USBBUS1. **视窗(马拉松)*:安装Marathon驱动程序并使用端口 可0, can1…​ 根据适配器的编号。 **虚拟(虚拟)*:不需要驱动程序,使用 虚拟_0, 虚拟_1…​ (考虑到频道配对)。

    查看可用的CAN设备列表 *AnyMath*,在运行命令 *AnyMath*:

    Main.EngeeDeviceManager.UTILS_API.getCanDevicesList()
  3. 现在,您可以使用库中的块。 CAN.

CAN接口

支持包使用不同的驱动程序接口(CAN块中的*Interface*参数)。 要在块中工作,重要的是要知道两个值:

**接口*(例如, socketcanpcan的); **通道/端口*是要在块参数中指定的设备标识符(例如, 可0, vcan0, PCAN_USBBUS1, 虚拟_0).

如何查看可用的CAN设备 AnyMath

要获取检测到的CAN控制器列表(然后在块参数和脚本中指定的标识符),请在 *AnyMath*:

Main.EngeeDeviceManager.UTILS_API.getCanDevicesList()

PCAN(接口 pcan的,窗户)

要使用*PCAN-USB*适配器,请从*PEAK系统安装*PCAN-Basic*驱动程序*: 设备驱动程序设置(PCAN-Basic)

*Channel/port*参数指定*PCAN-Basic驱动程序提供的名称*: PCAN_USBBUS1, PCAN_USBBUS2, …​, PCAN_USBBUSN.

SocketCAN(接口 socketcan,Linux)

与之合作 socketcan 激活操作系统中的CAN接口是必要的.

*虚拟CAN(如果没有物理适配器)*:

sudo modprobe vcan
sudo ip link add dev vcan0 type vcan
sudo ip link set vcan0 up

在*Channel/port*参数中,指定 vcan0.

*物理CAN控制器*(例如 可0):

sudo modprobe can
sudo ip link set can0 type can bitrate 125000
sudo ip link set can0 up

# отправка сообщения
sudo cansend can0 '111#11aa'

# прием данных
sudo candump can0

在*Channel/port*参数中,指定引发接口的名称(可0, can1, …​).

*PCAN适配器通过 socketcan*(对于Linux内核版本>=3.4):

sudo modprobe peak_usb
sudo modprobe peak_pci
sudo ip link set can0 up type can bitrate 500000

马拉松(接口 马拉松)

要使用*Marathon CAN-bus-USB适配器*安装制造商的驱动程序: 马拉松车手

在*Channel/port*参数中,指定编号的适配器通道。

对于第一个连接的适配器:

*输出 可以1 回应 可0; *输出 可以2 回应 can1.

每个Marathon USB适配器提供两个通道:第一个 — 可0/can1,对于以下 — can2/can3,则 can4/can5 以此类推按升序排列。

虚拟(接口 虚拟)

对于接口 虚拟 没有必要安装驱动程序-这是一个软件可以仿真。

在*Channel/port*参数中指定编号的虚拟通道。 对于第一个虚拟总线,这是 虚拟_0虚拟_1.

发送至 虚拟_0,出现在 虚拟_1 (反之亦然)。 对于"环回",将数据发送到 虚拟_0,并接受 虚拟_1.

以下虚拟总线使用对 虚拟_2/虚拟_3,则 虚拟_4/虚拟_5 以此类推按升序排列。